Sql问题。

jamfchan 2007-02-05 02:28:33
T表:
id name
1 a
2 a
3 b
4 b
5 b
怎样才能输出以下
1 a-1
2 a-2
3 b-1
4 b-2
5 b-3

谢谢。
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamfchan 2007-02-05
  • 打赏
  • 举报
回复
谢谢
zlp321002 2007-02-05
  • 打赏
  • 举报
回复
declare @t table(id int, name varchar(10))
insert into @t select 1,'a'
union all select 2,'a'
union all select 3,'b'
union all select 4,'b'
union all select 5,'b'

select *,name=name+'-'+ltrim((select sum(1) from @t where name=tb.name and id<=tb.id)) from @t tb
/*
id name name
----------- ---------- -----------------------
1 a a-1
2 a a-2
3 b b-1
4 b b-2
5 b b-3

(所影响的行数为 5 行)
*/
九斤半 2007-02-05
  • 打赏
  • 举报
回复
ID NAME NAME2
----------- ---------- -----------------------
1 a a-1
2 a a-2
3 b b-1
4 b b-2
5 b b-3
九斤半 2007-02-05
  • 打赏
  • 举报
回复
CREATE TABLE T(ID INT IDENTITY(1,1),NAME NVARCHAR(10))
INSERT T(NAME) SELECT 'a'
INSERT T(NAME) SELECT 'a'
INSERT T(NAME) SELECT 'b'
INSERT T(NAME) SELECT 'b'
INSERT T(NAME) SELECT 'b'
SELECT * FROM T

SELECT
*,
NAME2=NAME+'-'+(SELECT RTRIM(COUNT(*)) FROM T WHERE NAME=I.NAME AND ID<=I.ID)
FROM T I

DROP TABLE T

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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