请问这个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
请问如何实现?
[解决办法]
select * from 表 order by [level],[order]
[解决办法]
SELECT id,level,orderFROM 表ORDER BY level,order
[解决办法]
select * from 表 order by level,order
[解决办法]
select * from 表 order by id ,level,order
这个是正解
[解决办法]
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.