当前位置: 代码迷 >> Sql Server >> 请教这个SQL排序,如何写
  详细解决方案

请教这个SQL排序,如何写

热度:76   发布时间:2016-04-27 13:06:31.0
请问这个SQL排序,怎么写?
我有一个表,假设有3个字段,id(主键),level(层级),order(顺序)

我想得到这样的结果,

先按顺序排第一层level=1的小项,依次类推level=2......

id level order
1 1 1
2 2 1
3 2 2 
4 2 3
5 1 2
6 2 1
7 2 2 
8 2 3 

请问如何实现?

------解决方案--------------------
SQL code
select * from 表 order by [level],[order]
------解决方案--------------------
SQL code
SELECT id,level,orderFROM 表ORDER BY level,order
------解决方案--------------------
select * from 表 order by level,order
------解决方案--------------------
select * from 表 order by id ,level,order

这个是正解
------解决方案--------------------
SQL code
select * from 表 order by level,order
------解决方案--------------------
楼主如果只是这3个字段的话,是不能确认id in(2、3、4)及(6、7、8)之间的前后关系的。
按这个表的功能应该还有一个ParentID才对。
------解决方案--------------------
按广度遍历。order by level, [order]

SQL Server 2008 有一个数据类型,hierarchyID, 处理层次表很方便。可以看一下msdn.
  相关解决方案