可不可以這樣排序?

BILLSJONE 2004-05-08 11:23:18
數據表結構:
ID typeID
1  1
2  2
3  5
4  1
5  5

==========
從最后一條開始排序,如果ID=typeID就先接著排ID=typeID的,如上面記錄集排成這樣:
ID
5
3
4
1
2
====================
請教這樣排序的sql語句怎么實現?謝謝
...全文
21 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
BILLSJONE 2004-05-09
可以这样算的啊,不大懂,明天试一下看,先谢谢楼上
  • 打赏
  • 举报
回复
yuaf 2004-05-09
很简单,加一个计算列就好

SELECT id, typeID, (case id when typeID then 0 else 1 end) as oid
FROM mytable ORDER BY oid,id DESC
  • 打赏
  • 举报
回复
BILLSJONE 2004-05-09
不会直接一条sql语句行不行?
order by typeID, id不行吧
  • 打赏
  • 举报
回复
BILLSJONE 2004-05-08
更正:是因為3的typeID等于5的typeID
  • 打赏
  • 举报
回复
MH2o 2004-05-08
用SQL不知道怎么搞!
  • 打赏
  • 举报
回复
ffjing 2004-05-08
明白你的排序规律了
挺好玩的,我去研究一下。

  • 打赏
  • 举报
回复
BILLSJONE 2004-05-08
有規律的啊,用id的倒序來排,所以先排最后一條記錄5,緊接著排3,是因為3的typeID等于5的id(如果3的typeID不等于5的id的話是先排4的),就是這規律啊
  • 打赏
  • 举报
回复
zhuyaowei 2004-05-08
ID
5
3
4
1
2
你这个顺序有规律嘛?
实现不了
  • 打赏
  • 举报
回复
guanvee 2004-05-08
明白什么意思了,
可惜不会
帮顶!
  • 打赏
  • 举报
回复
libraworm 2004-05-08
order by typeID, id

类似这样,升序降序的条件自己加上去
  • 打赏
  • 举报
回复
zhuyuke 2004-05-08
使用存储过程,先创建一个临时表1,把表中的数据按降序排列插入到临时表1中,然后在创建一个临时表2,把临时表中的第1条记录插入到临时表2中同时在临时表1中删除该条记录;再在临时表1中找到和第一条记录typeID相等的记录插入到临时表2中,同时在临时表2中删除这些记录,依次类推,直到所有的数据都转移到表2中;这是后表2中的数据就是排序后的数据
  • 打赏
  • 举报
回复
BILLSJONE 2004-05-08
頂一下
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

6.0w+

社区成员

.NET技术交流专区
社区管理员
  • ASP.NET
  • R小R
  • 喵叔哟
帖子事件
创建了帖子
2004-05-08 11:23
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。