原语句是
select * from News where ViewState='yes'order by AddDate desc", NewsView按照加入时间倒序列排列显示新闻现在在News表内加了一个tj的字段,要实现如果tj='yes'的话,则优先显示,显示完所有tj='yes'的新闻后,再接着显示tj=null的新闻;这句SQL语句该怎么改??谢谢帮忙
select * from News where ViewState='yes'order by AddDate desc", NewsView按照加入时间倒序列排列显示新闻现在在News表内加了一个tj的字段,要实现如果tj='yes'的话,则优先显示,显示完所有tj='yes'的新闻后,再接着显示tj=null的新闻;这句SQL语句该怎么改??谢谢帮忙
解决方案 »
- WAVECOM wmod2 短信猫如果定时读取SQL数据库中的数据
- .net表单过滤字符的问题,防XSS的方法,高手进来帮个忙,急急急~~~
- 求在线考试系统的自动阅卷功能的方法!在线等!~
- 谁做过类似树形论坛的列表?
- 我发现一个可以读出相片光圈快门的网站后台,这个功能如何实现?
- 程序如何识别文本框里的换行符?
- 求助:未将对象引用设置到对象的实例。
- 用C#写的ACTIVE控件在网页中用的时候,客户端也必须安装Frame SDK?
- 怎样调用另外一个页面的控件?
- 微信公众平台, config:invalid signature一直爆这个错误,求教如何解决?
- 论坛结贴,给分问题。
- 怎么获取客户端计算机名称,我的怎么获取成这个样子了?
select * from News where ViewState='yes'
order by AddDate desc,NewsView,case when tj='yes' then 0 when tj is null then 1 else 2 end
意义就是:如果tj的值为'yes',则结果为0,如果tj为空,则为1,其他为2,按照这个结果排序,默认为升序,会按0,1,2来排,所以tj为yes的会显示在最前面,为null的其次,其它居后。
order by tj desc, AddDate desc,NewsView
order by tj desc, AddDate desc,NewsView
使用order by tj asc是肯定不行的。
使用order by tj desc也不一定行,因为tj的不一定只有yes和null值,比如说如果有no,那么会按照yes,no,null的顺序来显示,显然不符合
本来想加分给大家的,结果提示帖子未超过5天不能加分只好给帮忙的朋友送上点小分不成敬意
使用order by tj asc是肯定不行的。
使用order by tj desc也不一定行,因为tj的不一定只有yes和null值,比如说如果有no,那么会按照yes,no,null的顺序来显示,显然不符合
-----------------------------------------你的考滤很有道理.
但很显然楼主的数据没有经过格式化,null表示的就是no的情况.