LaR*_*ite 3 sql sql-server select group-by filter
说我有这个表:(列:Row是基于列的计数ID)
ID | Row | State |
1 | 1 | CA |
1 | 2 | AK |
2 | 1 | KY |
2 | 2 | GA |
2 | 3 | FL |
3 | 1 | WY |
3 | 2 | HI |
3 | 3 | NY |
3 | 4 | DC |
4 | 1 | RI |
Run Code Online (Sandbox Code Playgroud)
我想生成一个新列,Row该ID列在每列的列中按列编号最高.我怎么做到这一点?我一直在搞乱MAX(),GROUP BY和一些分区,但每次都会遇到不同的错误.很难正确地解决这个问题.这是我的目标输出:
ID | Row | State | MaxRow
1 | 1 | CA | 2
1 | 2 | AK | 2
2 | 1 | KY | 3
2 | 2 | GA | 3
2 | 3 | FL | 3
3 | 1 | WY | 4
3 | 2 | HI | 4
3 | 3 | NY | 4
3 | 4 | DC | 4
4 | 1 | RI | 1
Run Code Online (Sandbox Code Playgroud)
Gio*_*sos 10
使用窗口版本MAX:
SELECT ID, Row, State, MAX(Row) OVER (PARTITION BY ID) AS MaxRow
FROM mytable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |