hua*_*n68 5 sql oracle group-by
你好,我有桌子(看下面),有4条记录.请注意,ColumnA和ColumnB具有相同的值,ColumnC和columnD将具有不同的值.
ColumnA ColumnB ColumnC ColumnD
------- ------- ------- -------
xx yy AAA 333
xx yy BBB 555
xx yy AAA 333
xx yy BBB 555
Run Code Online (Sandbox Code Playgroud)
我试图使用Group By查询选择整个记录,如下所示:
SELECT ColumnC from TableA GROUP BY ColumnC;
Run Code Online (Sandbox Code Playgroud)
这个查询只显示了ColumnC,但我的期望是不仅选择整个记录ColumnC.
更新:我的预期输出是:
ColumnA ColumnB ColumnC ColumnD
------- ------- ------- -------
xx yy AAA 333
xx yy BBB 555
Run Code Online (Sandbox Code Playgroud)
我可以知道我该怎么办?
谢谢 @!
在甲骨文中:
SELECT *
FROM (
SELECT t.*,
ROW_NUMBER() OVER (PARTITION BY columnC ORDER BY columnA) AS rn
FROM mytable
)
WHERE rn = 1
Run Code Online (Sandbox Code Playgroud)
更改ORDER BY子句以控制将返回包含重复项的记录(现在具有最小值columnAis)。
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |