我不确定如何从联接表中返回最大值。表中当前有4个项目,但查询仅返回1个项目。MAX(b.bid)正在中断查询。
SELECT i.id,
i.user_id,
i.item_title,
i.item_description,
i.item_condition,
i.active,
i.add_date,
MAX(b.bid)
FROM items i
LEFT JOIN bids b
ON i.id = b.item_id
WHERE i.user_id = ? AND i.active = 1
ORDER BY i.id DESC
如果max(bid)
要按项目group
查询,则需要按项目进行查询。
SELECT i.id,
i.user_id,
i.item_title,
i.item_description,
i.item_condition,
i.active,
i.add_date,
MAX(b.bid)
FROM items i
LEFT JOIN bids b
ON i.id = b.item_id
WHERE i.user_id = ? AND i.active = 1
GROUP BY i.id
ORDER BY i.id DESC
此结果取决于每个出价的所有其他字段都相同,看起来应该是一样的。这是mysql扩展名的有效使用group by
。否则,您需要在group by
子句中的select中指定每个字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句