请原谅我的标题含糊不清,我真的不知道如何简洁地编写我想要做的事情。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