我有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。