希望有人能指出我正确的方向。我有一点头发拉动。
以下是一些示例数据:
ID SUBID COL1 COL2 COL2 COL3
1 10001 Test 1 Test 2 Test 3 Test 4
2 10002 Test 1 Test 2 Test 3 Test 4
3 10003 Test 1 Test 2 Test 3 Test 4
4 10004 Test 1 Test 2 Test 3 Test 4
5 10005 Test 5 Test 6 Test 7 Test 8
我需要结果如下:
ID SUBID COL1 COL2 COL2 COL3
4 10004 Test 1 Test 2 Test 3 Test 4
5 10005 Test 5 Test 6 Test 7 Test 8
我需要根据COL1,COL2,COL3和&amp ;;组合所有副本。 COL4这很简单,但我需要从ID和SUBID列中的分组输出一个数字,它来自哪个分组行并不重要,它只需要一个值。
在我查询数百万行时,性能也是关键。
希望上述内容有道理,谢谢。
答案 0 :(得分:1)
您可以使用min或max选择一个。它们不会来自同一行,但它只是“一个价值”。
select min(id), min(subid), col1, col2, col3, col4
from tab
group by col1, col2, col3, col4
答案 1 :(得分:0)
select id, subid, COL1, COL2, COL3, COL4
from your_table
where id in (
select min(id)
from your_table
group by COL1, COL2, COL3, COL4
)