MySQL:显示分组行中最新出现的字段

时间:2014-04-08 05:20:43

标签: mysql sql select group-by

我有item表和order表。我正在显示按名称,成本和货币分组的最新订购商品,以便我可以显示订购产品的次数。我使用这个查询:

SELECT  o.id AS orderId, COUNT(i.id) AS countItems, i.id AS prodId, item_name, cost, currency
FROM item AS i
INNER JOIN order AS o
ON FIND_IN_SET(i.id, REPLACE(o.items, ' ', ''))
GROUP BY item_name, cost, currency
ORDER BY orderId DESC

(需要FIND_IN_SET,因为订单的项目在order表格中的字段中以逗号分隔)

如果在一个结果中该项目可以分组(countItems >= 2),则其orderId将始终显示第一个订单ID,而不是最新的(例如,如果某个项目具有相同的名称,成本和货币)在120和230的顺序中,结果将显示orderId 120)。

有没有办法让orderId显示最新订单而不是第一个?

更新

根据SQLFIddle,我希望结果行显示ordId 826而不是693。

0 个答案:

没有答案