Bil*_*lla 2 sql sql-server sql-server-2005
我在下面的表中有ID和Number列
ID Number
1 34534
1 45345
1 45353
2 56454
2 45645
3 65756
3 67565
3 87865
3 38932
4 36468
4 45332
Run Code Online (Sandbox Code Playgroud)
预期产出是
1 34534
2 56454
3 65756
4 36468
Run Code Online (Sandbox Code Playgroud)
我需要为每个Id获取所有的第一个数字.
如何编写查询来实现此目的?我不是SQL的专家.:(
注意:使用SQL Server 2005
尝试这样的事情:
SELECT ID, Number FROM
(SELECT ID, Number, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Number) RN FROM MyTable) Base
WHERE Base.RN = 1
Run Code Online (Sandbox Code Playgroud)
显然MyTable是你的桌子的名字
啊......显然2 56454是不可能的.你只能得到2 45645.除非使用ORDER BY子句,否则sql表中的顺序是一种错觉.否则SQL Server可以重新排序它想要的行.
| 归档时间: |
|
| 查看次数: |
2242 次 |
| 最近记录: |