bid_count
正在返回1 ...如何让它返回正确的出价计数?我知道它没有返回正确的数量,因为我按user_id
进行分组。我可以更改查询,因此它也很重要。
"SELECT id, bid, item_id, user_id, MAX(bid) AS max_bid, COUNT(bid) AS bid_count, bid_date
FROM bids
WHERE item_id = ?
GROUP BY user_id ORDER BY id DESC"
答案 0 :(得分:0)
尝试根据item_id对其进行分组。 item_id应该是具有不同出价的那个。
答案 1 :(得分:0)
你不应该在GROUP BY中使用非聚合表达式,除非它们在组中都是相同的。
如果要返回包含user_id计数的记录,则应使用子查询获取计数,然后将它们连接到结果:
SELECT id, bid, item_id, user_id, bid_date, max_bid, bid_count
FROM bids
LEFT JOIN
(SELECT user_id,MAX(bid) AS max_bid, COUNT(bid) AS bid_count
FROM bids
WHERE item_id = ?
GROUP BY user_id ) as group_table
ON bids.user_id = group_table.user_id
WHERE bids.item_id = ?