仅显示MySQL中具有相同order_id的行的一行

时间:2011-12-27 17:17:46

标签: mysql sql

目前我有这个问题:

SELECT refnumbers.order_id FROM orders INNER JOIN refnumbers ON (refnumbers.order_id = orders.ID)
WHERE refnumbers.refno LIKE '%MAGT-%'

此返回24行,来自refnumbers。我希望它通过(?)进行分组,所以它只返回一行,如果有4行具有相同的order_id。

示例现在显示如下:

OrderID: 2
OrderID: 2
OrderID: 2
OrderID: 3
OrderID: 3

我希望它能归还:

OrderID: 2
OrderID: 3

1 个答案:

答案 0 :(得分:2)

最简单的答案:在DISTINCT之后立即添加SELECT

请注意,仅当您要返回的所有是order_id时,此功能才有用。否则(例如,如果您想要计算每个order_id的匹配编号的数量),最好将GROUP BY refnumbers.order_id添加到查询的末尾。