我正在尝试编写一个查询,该查询将查找组中的所有行,但具有最大值的行除外。到目前为止,我有一个查询可以找到具有最大值的行,但现在我需要找到所有其余的行。这是一个包含两个数据库和示例数据的 SQLFiddle。我也有查找最大行数的查询。 http://sqlfiddle.com/#!2/514d2/33
对于那些不想使用 SQLFiddle 的人... 表名:列表 表名:出价
SELECT listings.end_date, listings.user_id, listings.title,
listings.auc_fp, listings.id, listings.auc_image1
FROM listings
JOIN bids b1
ON b1.listing_id=listings.id
LEFT JOIN bids b2
ON b2.listing_id=listings.id AND b1.bid < b2.bid
WHERE b1.user_id = 1
AND b2.bid IS NULL
AND listings.end_date > NOW()
ORDER BY listings.list_ts DESC
以上是查找最大行数的查询。我正在尝试将listings 表与listings.id=bids.listing_id 上的bids 表连接起来。然后我需要找到用户($user 或用户“1”)对该列表出价的所有行。然后我需要排除用户具有最高出价的列表(这就是上面的查询所做的)。
我最初认为我可以使用上面的查询作为子查询来排除用户是最高出价者的列表。但我不确定这是否是最好的方法,而且我对子查询不太擅长。