請原諒我的標題含糊不清,我真的不知道如何簡潔地編寫我想要做的事情。Mysql查詢在QUERY中,每個ID只有1個結果
我有
名稱的表 - 海峽 ITEM_ID - INT 位置 - 詮釋
name item_id position
| 6asd | 17 | 1 |
| asdf | 3 | 1 |
| asdf | 3 | 2 |
| asdf | 3 | 3 |
| asdf | 3 | 4 |
我想的item_ids
列表上使用IN詢問,只有每返回1行項目,這應該是最低位置的行。
select name, item_id, position from my_table
WHERE item_id IN (17, 3) AND name != '';
當我只是試圖返回最低位置時,這會返回item_id的所有行。當然,我看着ORDER_BY和LIMIT,但我的查詢只在整個結果集上完成,而不是單獨在每個ID上。
ORDER BY position ASC LIMIT 1
有沒有人嘗試過這樣做?任何幫助將不勝感激。我需要以某種方式使用子選擇嗎?
您是否在尋找MIN()? – Bono
@Bono我認爲這正是我正在尋找的。 – dm03514