MySQL内部根据第二个表的最大值连接两个表
我有两个表列表和出价。我有一个查询,它将返回某个特定用户出价的所有列表,其中结束日期已过。但我需要做的是进一步限制结果,只找到用户已经出价并且是最后一个出价者的列表。这是我到目前为止的疑问MySQL内部根据第二个表的最大值连接两个表,mysql,sql,select,subquery,Mysql,Sql,Select,Subquery,我有两个表列表和出价。我有一个查询,它将返回某个特定用户出价的所有列表,其中结束日期已过。但我需要做的是进一步限制结果,只找到用户已经出价并且是最后一个出价者的列表。这是我到目前为止的疑问 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
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"
谢谢你的帮助
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
你能在你的问题中添加样本记录和你想要的结果吗?我编辑了我的问题以显示我的出价表。我试图筛选的是每个用户id和每个列表id的最新出价。为上述数据添加所需的输出。并指定挂牌和投标表格的样本数据。您可以添加样本记录和您的问题所需的结果吗?我编辑了我的问题以显示我的投标表格。我试图筛选的是每个用户id和每个列表id的最新出价。为上述数据添加所需的输出。并指定挂牌和投标表格的样本数据谢谢。我想我现在对这个概念的理解稍微好一点了。使用子查询的原因是它分别获取每个用户id的每个列表id的最新日期。其结果是连接回原始表以获取完整的行详细信息:DThank you。我想我现在对这个概念的理解稍微好一点了。使用子查询的原因是它分别获取每个用户id的每个列表id的最新日期。其结果是连接回原始表以获取完整的行详细信息:D
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