这个排序怎么办?

manganese 2000-08-19 09:08:00
原序:
id1 id2 id3
1 1 2
2 1 1
3 2 1
4 2 3
5 2 2
6 3 2
7 3 3
排序后
id1 id2 id3
2 1 1
1 1 2
3 2 1
5 2 2
4 2 3
6 3 2
7 3 3
使用什么SQL语句可以SELECT出来,多谢!!
...全文
176 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
9Thoughts 2000-08-27
  • 打赏
  • 举报
回复
要是id2唯一呢?怎么排序?
我感觉逻辑太凌乱,恕在下愚鲁,仍无法理解。
manganese 2000-08-26
  • 打赏
  • 举报
回复
首先谢谢同志们!我再把问题说一遍,请各位帮忙:
我想从一个表中基本上按id1物理顺序取出每一个纪录,但如果有多个纪录(id1不一定连续)的id2值相同,那么这些id2相同的记录再按id3的顺序或降序排列排列后依次连续取出(这是id1的顺序可能被打乱,但这不重要)。

如果还不清楚,这么说:“按id1升序取出一组纪录,若其中纪录有相同的id2字段,那么这些有相同id2字段的纪录按id3降序排列。”
9Thoughts 2000-08-23
  • 打赏
  • 举报
回复
我没有完全理解你的意图,能不能用语言描述清楚?这些数据不能完全表达,总不能让我们猜吧?我看好像你是想是先按和排序,这么写:
order by id1+id2+id3,id2,id3
不过问题不会这么简单吧?
iforever 2000-08-22
  • 打赏
  • 举报
回复
请把问题再说清楚些, 我来帮你解决.
wwwunix 2000-08-20
  • 打赏
  • 举报
回复
这样的话我认为要写一段存储过程才能解决。
manganese 2000-08-20
  • 打赏
  • 举报
回复
对不起,对不起,我的问题没有写清楚,id2并不是顺序的,是乱序,同时,查询结果也要基本保持原栏的次序,指示当id2相同时才按id3的逆序排列.
请再指点一下.
razzor 2000-08-20
  • 打赏
  • 举报
回复
wwwunix的答案正确!
你的排序问题其实就是先根据id2排序,id2相同,按照id3排序
很简单
请给wwwunix加分吧。这个问题应该算是解决了。
hyzx2000 2000-08-19
  • 打赏
  • 举报
回复
wwwunix 2000-08-19
  • 打赏
  • 举报
回复
select id1,id2,id3 from table where ....order by id2,id3

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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