我有一个名为 a
的表,其中包含以下数据:
+-----+-----------+-------+
| id | parent_id | price |
+-----+-----------+-------+
| 1 | 1 | 100 |
| 2 | 1 | 200 |
| 3 | 1 | 99 |
| 4 | 2 | 1000 |
| 5 | 2 | 999 |
+-----+-----------+-------+
我想获取每个 parent_id 的最小价格的 id
。
有什么方法可以不用子查询得到这个结果吗?
+-----+-----------+-------+
| id | parent_id | price |
+-----+-----------+-------+
| 3 | 1 | 99 |
| 5 | 2 | 999 |
+-----+-----------+-------+
最佳答案
SELECT D1.id, D1.parent_id, D1.price
FROM Data D1
LEFT JOIN Data D2 on D2.price < D1.price AND D1.parent_id = D2.parent_id
WHERE D2.id IS NULL
关于mysql - 在没有内部选择的情况下获取最低价格 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22869372/