我想在一個表結構像 ID,mls_id,地址,AGENT_ID執行搜索。我想這樣做的是把所有的記錄AGENT_ID但拉不超過一個,如果有相同毫升。例如:如何做搜索的MySQL剔除重複的記錄
Select * From table WHERE agent_ID = 1234
可能會拉起5條記錄,但讓我們假設兩條記錄的mls_id是相同的。有沒有辦法只取其中一個,並保持所有其他結果的機智?
我想在一個表結構像 ID,mls_id,地址,AGENT_ID執行搜索。我想這樣做的是把所有的記錄AGENT_ID但拉不超過一個,如果有相同毫升。例如:如何做搜索的MySQL剔除重複的記錄
Select * From table WHERE agent_ID = 1234
可能會拉起5條記錄,但讓我們假設兩條記錄的mls_id是相同的。有沒有辦法只取其中一個,並保持所有其他結果的機智?
這似乎這樣的伎倆:
它做什麼是選擇那些具有相同mls_id
SELECT id, mls_id, address, agent_id
FROM MyTable t1
WHERE t1.agent_id=1 AND t1.id =
(SELECT Min(t2.id)
FROM MyTable t2
WHERE agent_id=1 AND t2.mls_id=t1.mls_id
GROUP BY t2.mls_id)
這裏用最少的ID的記錄是小提琴例如:SqlFiddle
SELECT DISTINCT *
FROM table
WHERE agent_ID = 1234
使用DISTINCT
關鍵字會從你的結果集落重複記錄。
這給了我同樣的結果。我仍然得到三個具有相同mls_id字段的記錄。如果我只是做 SELECT DISTINCT mls_id FROM表WHERE AGENT_ID = 1234,這將使我不同的結果,但我再沒有得到額外的領域需要 - 如地址,城市,ST等 –
'SELECT DISTINCT *從table'是與SELECT * From table'完全相同,因爲所有行在標準表中都是唯一的。 –
哇 - 工程。遠比我之前創建的更復雜的mysql語句。謝謝! –