sql分组排序

zhufengming 2011-07-06 02:47:24
有一个Menu表,内容如下:

MenuID MenuName ParentID TypeOrderByID
1 首页 NULL 1
2 简介 NULL 2
3 业务授理 NULL 3
4 电子检测中心 NULL 4
5 软件评测中心 NULL 5
6 信息安全测评中心 NULL 6
7 认证中心 NULL 7
8 物联网中心 NULL 8
9 党团建设 NULL 9
10 联系我们 NULL 10

12 行业资讯 1 2
11 最新动态 1 1
13 政策法规 1 3
17 概况 2 1
18 组织结构 2 2
19 资质及授权 2 3

我想按ParentID分组后在按TypeOrderByID升序排序,变成如下形式:
MenuID MenuName ParentID TypeOrderByID
1 首页 NULL 1
2 简介 NULL 2
3 业务授理 NULL 3
4 电子检测中心 NULL 4
5 软件评测中心 NULL 5
6 信息安全测评中心 NULL 6
7 认证中心 NULL 7
8 物联网中心 NULL 8
9 党团建设 NULL 9
10 联系我们 NULL 10

11 最新动态 1 1
12 行业资讯 1 2
13 政策法规 1 3
17 概况 2 1
18 组织结构 2 2
19 资质及授权 2 3
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nice 2011-07-06
  • 打赏
  • 举报
回复
if object_id('[menu]') is not null drop table [menu]
go
create table [menu] (MenuID int,MenuName nvarchar(16),ParentID int,TypeOrderByID int)
insert into [menu]
select 1,'首页',null,1 union all
select 2,'简介',null,2 union all
select 3,'业务授理',null,3 union all
select 4,'电子检测中心',null,4 union all
select 5,'软件评测中心',null,5 union all
select 6,'信息安全测评中心',null,6 union all
select 7,'认证中心',null,7 union all
select 8,'物联网中心',null,8 union all
select 9,'党团建设',null,9 union all
select 10,'联系我们',null,10 union all
select 12,'行业资讯',1,2 union all
select 11,'最新动态',1,1 union all
select 13,'政策法规',1,3 union all
select 17,'概况',2,1 union all
select 18,'组织结构',2,2 union all
select 19,'资质及授权',2,3

select * from [menu] ORDER BY parentid,typeorderbyid asc


/*
MenuID MenuName ParentID TypeOrderByID
----------- ---------------- ----------- -------------
1 首页 NULL 1
2 简介 NULL 2
3 业务授理 NULL 3
4 电子检测中心 NULL 4
5 软件评测中心 NULL 5
6 信息安全测评中心 NULL 6
7 认证中心 NULL 7
8 物联网中心 NULL 8
9 党团建设 NULL 9
10 联系我们 NULL 10
11 最新动态 1 1
12 行业资讯 1 2
13 政策法规 1 3
17 概况 2 1
18 组织结构 2 2
19 资质及授权 2 3

(16 行受影响)*/
chuanzhang5687 2011-07-06
  • 打赏
  • 举报
回复
select * from Menu order by ParentID,TypeOrderByID 
-晴天 2011-07-06
  • 打赏
  • 举报
回复
像你这样,直接 order by munuid 不就成了!
如果要按你说的排序,那就 order by ParentID,TypeOrderByID
用不着做什么分组的.
cd731107 2011-07-06
  • 打赏
  • 举报
回复
select * from tb order by isnull(ParentID,0),TypeOrderByID
快溜 2011-07-06
  • 打赏
  • 举报
回复
select * from tb order by ParentID,TypeOrderByID

34,588

社区成员

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

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