我試圖理解這個查詢做究竟是什麼:MySQL根據一行的唯一性選擇DISTINCT多列?
SELECT DISTINCT `state`, `state_name` FROM `geo` ORDER BY `state_name` ASC
所有我想要做的是選擇2列(狀態和STATE_NAME),我想只有那些沒有重複值唯一行國家領域。我不關心在state_name字段中是否有重複的值。
我的查詢檢查兩個列的唯一性或只是狀態?
我試圖理解這個查詢做究竟是什麼:MySQL根據一行的唯一性選擇DISTINCT多列?
SELECT DISTINCT `state`, `state_name` FROM `geo` ORDER BY `state_name` ASC
所有我想要做的是選擇2列(狀態和STATE_NAME),我想只有那些沒有重複值唯一行國家領域。我不關心在state_name字段中是否有重複的值。
我的查詢檢查兩個列的唯一性或只是狀態?
DISTINCT將只返回重複行,所以:
是我的查詢檢查的唯一兩列或只是狀態呢?
這兩列
你也可以切換到GROUP BY來代替。
SELECT `state`, `state_name` FROM `geo` group by 'state', 'state_name' ORDER BY `state_name` ASC
它正在檢查state和state_name的唯一組合。獨特的操作包括在您的選擇列表中的所有列。
要想僅包括獨有的狀態值,只需選擇不同的狀態
感謝它的工作。 :) – Addy