我有一个拍卖系统的出价表:
投标书
id user_id bid auction_id
1 3 1 1
2 4 2 1
3 4 1 1
4 3 3 1
5 3 2 1
6 3 2 1
我需要在给定的拍卖中为给定的用户获得最高的用户出价(考虑到用户可能根本没有出价,该出价之和直到该用户做出的最后出价)。
例如:
for user id=3, highest bid would be 11.
for user id=4, highest bid would be 4.
for user id=6, highest bid would be 0. (user didn't make any bids)
到目前为止,我有这个查询:
SELECT COALESCE( SUM( bid ), 0 ) as highest_bid
FROM BIDS
WHERE user_id = 3
AND auction_id = 1
但是仅返回该用户所做的所有所有出价的总和,我需要直到该用户做出的最后一个出价的总和。
我希望我有道理。
谢谢!
最佳答案
尝试这个。本质上,我为每个用户获取了max_id并获取了该max_id之前的总和。
我还没有测试过。
SELECT
user_id,
(SELECT sum(bid)
FROM BIDS
WHERE id <= max_ids.id)
FROM
(SELECT
max(id) AS id,
user_id
FROM BIDS
GROUP BY user_id) max_ids
关于php - mysql从表中获得用户最高出价,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48939655/