[英]Select only one distinct column
我想這是一個很容易解決的問題,但我正在研究一小時的答案。 我有一個包含三列的表:“id”,“id_x”和“name”。 但它有重復的值,如下所示:
id id_x name
1 100 Name_aaa
2 100 Name_aaa
3 100 Name_aaa
4 100 Name_aaa*
5 101 Name_bbb
6 101 Name_bbb*
好吧,好吧,我沒有創建這個表,我也無法修改它們......我只想知道我可以執行什么查詢只返回值“100 - Name_aaa”和“101 - name_bbb”......請注意,在某些名稱后面有一個“*”。 我想只用“id_x”分組。
有沒有辦法在不使用子查詢或連接的情況下執行此操作?
提前致謝!
有點未經測試,但這應該做到
select id_x, min(name) as name
from table
group by id_x
嘗試這個,
從表名中選擇不同的id_x,名稱
select distinct
id_x,
case when name ~ E'\\*$' then substring(name, 1, length(name)-1)
else name end
from t;
或者 :
SELECT DISTINCT ON (id_x) id_x, name FROM table ORDER BY id_x, name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.