Sql 如何创建具有多个列的组
我想在特定列(如组)的每一行中重复第一行第一列值。请告诉我怎么做Sql 如何创建具有多个列的组,sql,sql-server,sql-server-2008,tsql,sql-server-2012,Sql,Sql Server,Sql Server 2008,Tsql,Sql Server 2012,我想在特定列(如组)的每一行中重复第一行第一列值。请告诉我怎么做 Table Id - Title 1 - ABC1 2 - ABC2 3 - ABC3 4 - ABC4 5 - ABC5 我希望在一个简单的select查询中得到这样的结果,请不要使用变量,因为它意味着在变量中存储第一行值 结果表 Table Id - Title - Group 1 - ABC1 - 1 2 - ABC2 - 1 3 - ABC3 -
Table
Id - Title
1 - ABC1
2 - ABC2
3 - ABC3
4 - ABC4
5 - ABC5
我希望在一个简单的select查询中得到这样的结果,请不要使用变量,因为它意味着在变量中存储第一行值
结果表
Table
Id - Title - Group
1 - ABC1 - 1
2 - ABC2 - 1
3 - ABC3 - 1
4 - ABC4 - 1
5 - ABC5 - 1
此查询将有助于获得预期结果
SELECT Id, Title, (SELECT TOP 1 Id FROm Table ORDER BY ID) AS [Group] FROM Table
比如:
从表中选择Id、标题、1作为[组]
如果组值不同,那么我们需要知道该值来自何处。使用查询:(ORDER BY ID ASC将确保始终选择第一个ID,即使ID中的顺序发生变化。)
我不明白你的意思。。。
Group
从何而来?Group是我希望从select query中得到的新列我将其勾选为正确,但供您参考,如果记录增加,假设10000,它将减少执行时间。不使用order by
的TOP
,除非您确实,真的知道你在做什么。这可以在不同的执行中返回不同的值。
SELECT Id, Title,
(SELECT TOP 1 ID FROM Table ORDER BY ID ASC)
AS [Group] FROM Table