[英]Filter a table and add order to result in SQL [duplicate]
假设我有一个如下表:
区域 | ID | 价值 |
---|---|---|
一个 | 1 | 0.5 |
一个 | 2 | 1.2 |
乙 | 3 | 1.1 |
乙 | 4 | 0.8 |
C | 5 | 1.0 |
乙 | 6 | 0.6 |
一个 | 7 | 1.5 |
我想要实现的是根据Area
值过滤表,按ID
排序值并返回该特定Area
的Value
字段和相对记录顺序。 因此,例如,如果我按Area = B
过滤表格,我想获得表格
区域 | 命令 | 价值 |
---|---|---|
乙 | 1 | 1.1 |
乙 | 2 | 0.8 |
乙 | 3 | 0.6 |
感谢任何愿意帮助我的人!
您需要的是ROW_NUMBER() function。
SELECT Area
, ROW_NUMBER() OVER (PARTITION BY Area ORDER BY ID) AS Order
, Value
FROM YourTable
WHERE Area = 'B' -- You can try without where, you'll get order by each area
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.