首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教这个SQL排序,如何写

2012-05-01 
请问这个SQL排序,怎么写?我有一个表,假设有3个字段,id(主键),level(层级),order(顺序)我想得到这样的结果,

请问这个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.

热点排行
Bad Request.