gpt4 book ai didi

MySQL Inner 在第二个表的最大值上连接两个表

转载 作者:行者123 更新时间:2023-11-29 01:43:10 24 4
gpt4 key购买 nike

我有两个表“listings”和“bids”。我有一个查询将返回特定用户出价的所有列表,其中 end_date 已过去。不过,我需要做的是进一步限制结果,以仅查找用户出价并且是最后出价者的列表。这是我到目前为止的查询...

SELECT listings.end_date, listings.user_id, listings.title, listings.auc_fp, listings.id, listings.auc_image1 
FROM listings INNER JOIN bids ON listings.id = bids.listing_id
WHERE bids.user_id=$userid
AND listings.end_date < NOW()
ORDER BY list_ts DESC"

我不擅长子查询,我假设我需要一个子查询来找到“出价”表中的所有用户出价,其中 bid_ts(出价时间戳)是相应 listing_id 的最新时间戳在出价表中。我的出价表中的列是:listing_id、user_id、bid、bid_ts。

+------------+---------+------+---------------------+
| listing_id | user_id | bids | bid_ts |
+------------+---------+------+---------------------+
| 1 | 10 | 100 | 2012-11-16 00:54:03 |
| 1 | 11 | 101 | 2012-11-16 00:54:04 |
| 2 | 10 | 33 | 2012-11-16 00:54:03 |
| 2 | 11 | 34 | 2012-11-16 00:54:04 |
| 2 | 12 | 35 | 2012-11-16 00:54:05 |
+------------+---------+------+---------------------+

感谢您的帮助

最佳答案

SELECT  a.*
FROM tableName a
INNER JOIN
(
SELECT listing_ID, user_ID, MAX(bid_ts) maxDate
FROM tableName
GROUP BY listing_ID, user_ID
) b ON a.listing_ID = b.listing_ID AND
a.user_ID = b.user_ID AND
a.bid_ts = b.maxDate

关于MySQL Inner 在第二个表的最大值上连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14049806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com