我有一张 table ,我想找出 table 上性别 = 'M' 的第一个人和性别 = 'F' 的第一个人
本例中的第一人称 = 按姓名字母顺序排序
name | gender | .......other data
A M
B M
C F
D F
E
F M
G F
如何获得包含第一个实例 'M' 和 'F' 且没有 null/空列的结果表?
理想的结果:
name | gender | ........other data
A M
C F
感谢您的帮助!
最佳答案
您可以像这样使用 row_number()
函数:
SELECT name,gender from (
SELECT name,gender,
row_number() OVER(PARTITION BY gender ORDER BY name ASC) as rnk
FROM YourTable)
WHERE rnk = 1
如果需要,您可以在性别之后添加其他列。
关于sql - 如何获取由另一列分区的值的第一个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35392366/