[英]How to select only distinct values for two columns in mysql
我已經創建了一張桌子
CREATE TABLE `region_details` (
`id` int(5) NOT NULL,
`file_id` varchar(20) NOT NULL,
`region` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
假設我有10條記錄,如下所示
id file_id region
1 aaa a
2 bbb b
3 ccc a
4 ddd c
5 abc d
6 a01 a
7 j05 b
8 005 c
9 a1021 a
10 111j b
我需要ID和區域以獲取不同的區域值
id region
1 a
2 b
4 c
5 d
只需執行GROUP BY
,使用MIN(id)
選擇每個區域的第一個ID。
select min(id) as id, region
from region_details
group by region
您可以這樣做:
SELECT min(id),region
FROM YourTable
GROUP BY region
其他兩個答案將Id匯總為一個聚合函數( min
, max
或其他縮減函數),但查看數據,結果可能是您想要的都是id的唯一組合和區域,您可以使用以下方法找到:
select id, region
from yourtable
group by id, region
如果您想了解如何/如何/哪些列進行匯總,由於給定ID /區域組合存在多個文件,您可以嘗試:
select id, region, count(*)
from yourtable
group by id, region
任何count(*)
值大於1的行都表明您已經在這些特定組合下匆匆忙忙刪除了多個文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.