我有一個表格,它有很多行,除了id列之外。如何僅顯示其他重復行的一行?
id name roll_number
1 a 1
2 b 2
3 a 1
4 b 2
5 c 3
6 d 4
7 d 4
像這樣顯示輸出
id name roll_number
1 a 1
2 b 2
5 c 3
6 d 4
uj5u.com熱心網友回復:
我們可以DISTINCT ON在這里使用:
SELECT DISTINCT ON (name) id, name, roll_number
FROM yourTable
ORDER BY name, id;
此查詢id從每組具有相同name.
uj5u.com熱心網友回復:
使用簡單聚合 min
select Min(id), name,roll_number
from t
group by name, roll_number
uj5u.com熱心網友回復:
您可以使用該numpy.unique(filt, trim='fb')功能:
>>> import numpy as np
>>> np.unique(array)
uj5u.com熱心網友回復:
這個問題需要在基于組的投影程序中“過濾掉”元組。解決方案是使用distinct on。
SELECT DISTINCT ON (name, roll_number) id, name, roll_number
FROM table
ORDER BY name, id;
它基本上根據“DISTINCT_ON”中的屬性創建組,并不確定地選擇一個元組,然后輸出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/352992.html
標籤:sql PostgreSQL
