求一查询语句(order by的)

银狐被占用 2003-12-04 10:57:38
现有一表,想从中取出一定顺序的数据。
排序方式为:先按日期排(rq),然后判断字段(gx)中值是否为aaaa,如果有则
按由大到小(字段mj),由厚到薄(字段hd),印刷到不印刷(字段ys:只有印刷这个
值。没有不印刷这个值) 来进行排序;值不为aaaa的就不用后面的条件,只按日期排!!!

谢谢了!!!
...全文
88 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
银狐被占用 2003-12-04
  • 打赏
  • 举报
回复
首先谢谢各位!
to:CrazyFor(冬眠的鼹鼠)
最后的那个条件只是按gx字段排序了。
我想要的是把gx中值为ys的排到前面,其他的排在它的后面。
你的好像实现不了!!!
CrazyFor 2003-12-04
  • 打赏
  • 举报
回复
select * from 表 order by rq,
case when gx='aaaa' then mj end desc,
case when gx='aaaa' then hd end desc,
case when gx='aaaa' then gx end

不知道是不是这个意思.
银狐被占用 2003-12-04
  • 打赏
  • 举报
回复
顶~!
银狐被占用 2003-12-04
  • 打赏
  • 举报
回复
为什么都不回答了?

顶~!
银狐被占用 2003-12-04
  • 打赏
  • 举报
回复
不好意思!

说的有点不正确了。
最后的那个印刷是按字段(gx)来排序的。

to:pengdali(大力 V3.0)
mj字段是想要从大到小;
hd字段是从厚到薄;
gx字段是否有印刷这个值,有则排到前面,无则排到后面。
你写的好像实现不了!!!
yoki 2003-12-04
  • 打赏
  • 举报
回复
select * from 表 order by rq,
case gx when 'aaaa' then mj end desc,
case gx when 'aaaa' then hd end desc,
case gx when 'aaaa' then ys end desc
yoki 2003-12-04
  • 打赏
  • 举报
回复
select * from t
order by rq,case gx when 'aaaa'then mj desc,hd desc,ys desc end
pengdali 2003-12-04
  • 打赏
  • 举报
回复
select * from 表 order by rq,
case when gx='aaaa' then mj end,
case when gx='aaaa' then hd end,
case when gx='aaaa' then ys end
银狐被占用 2003-12-04
  • 打赏
  • 举报
回复
好吧!
flyincs 2003-12-04
  • 打赏
  • 举报
回复
楼主的意思一开始没有表达清楚,后面补充说明了

建议你最好重新发一下


====>Just Seeing Hearing Saying Waitting Loving<====


银狐被占用 2003-12-04
  • 打赏
  • 举报
回复
顶~!

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧