group by 加序号

深山密林 2014-07-07 02:49:26
有一个表包含2个字段 年段,班级

我想按照 年段来排名,并且实现每一组都自增,如



...全文
530 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2014-07-07
  • 打赏
  • 举报
回复
修改一下:
----------------------------------------------------------------
-- Author  :DBA_HuangZJ(發糞塗牆)
-- Date    :2014-07-07 14:56:39
-- Version:
--      Microsoft SQL Server 2012 - 11.0.5058.0 (X64) 
--	May 14 2014 18:34:29 
--	Copyright (c) Microsoft Corporation
--	Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
go 
create table [TB]([年段] varchar(4),[班级] varchar(3))
insert [TB]
select '高一','1班' union all
select '高一','2班' union all
select '高二','1班' union all
select '高二','2班' union all
select '高三','1班' union all
select '高三','2班'
--------------开始查询--------------------------

select row_number()over(partition by 年段 order by 年段,班级)id,年段,班级
from tb
ORDER BY CASE 年段 WHEN '高一' THEN 1 WHEN '高二' THEN 2 ELSE 3 END 
----------------结果----------------------------
/* 
id                   年段   班级
-------------------- ---- ----
1                    高一   1班
2                    高一   2班
1                    高二   1班
2                    高二   2班
1                    高三   1班
2                    高三   2班
*/
發糞塗牆 2014-07-07
  • 打赏
  • 举报
回复
select row_number()over(partition by 年段,班级 order by 年段,班级)id,年段,班级 from tb

34,590

社区成员

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

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