fu 发帖数: 6 | 1 今天interview被问倒一个SQL问题,GROUP BY 以后随机在每个GROUP选一行:
field1 field2 field3
A1 B1 C1
A1 B1 C2
A1 B2 C3
A1 B2 C4
A2 B3 C5
A2 B3 C6
A2 B4 C7
A2 B5 C8
要求GROUP field1 and field2, 每一个GROUP里随机的选一个C*, example
A1 B1 C1
A1 B2 C4
A2 B3 C5
A2 B4 C8
有谁知道怎么写SQL啊, 先谢了! | fu 发帖数: 6 | 2 rowid 不是ORACLE的吗?SQL SERVER 也有吗? | c*******e 发帖数: 8624 | 3 rowid
【在 fu 的大作中提到】 : 今天interview被问倒一个SQL问题,GROUP BY 以后随机在每个GROUP选一行: : field1 field2 field3 : A1 B1 C1 : A1 B1 C2 : A1 B2 C3 : A1 B2 C4 : A2 B3 C5 : A2 B3 C6 : A2 B4 C7 : A2 B5 C8
| w*r 发帖数: 2421 | 4 em....
select * from (
select col,count(*) as cnt,
row_id() over (col1, col2) as rid
from...) a
where rid = random(1,cnt)
【在 c*******e 的大作中提到】 : rowid
|
|