求一条sql语句

hooo 2020-10-28 12:58:58
一个表 ,字段序号,录入人员,记录如下
1 人员A
2 人员A
3 人员A
4 人员A
5 人员B
6 人员B
7 人员B
8 人员A
9 人员A

想得到的结果
人员A 1-4
人员B 5-7
人员A 8-9
...全文
52 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨夹雪 2020-10-28
  • 打赏
  • 举报
回复

CREATE TABLE #T
(
	x INT,
	l VARCHAR(10)
)


INSERT INTO #T VALUES(1, '人员A')
INSERT INTO #T VALUES(2, '人员A')
INSERT INTO #T VALUES(3, '人员A')
INSERT INTO #T VALUES(4, '人员A')
INSERT INTO #T VALUES(5, '人员B')
INSERT INTO #T VALUES(6, '人员B')
INSERT INTO #T VALUES(7, '人员B')
INSERT INTO #T VALUES(8, '人员A')
INSERT INTO #T VALUES(9, '人员A')

 
SELECT  l ,CONVERT(VARCHAR(10),MIN(x)) +'-'+CONVERT(VARCHAR(10),MAX(x)) AS r FROM 
(
	SELECT *,x-ROW_NUMBER() OVER(PARTITION BY l ORDER BY x) AS y FROM #T
) a 
GROUP BY y,l

34,593

社区成员

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

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