我有一个名为出价的表,它有多行。
这些都有唯一的ID,但是它们也有一个listingID,所以每次插入它都会插入一个新的行但是带有该listingID。
我尝试只返回一个与查看表格中所有出价相同的清单ID的唯一结果,我尝试了SELECT DISTINCT并分组,但两者似乎都没有效果。
目前正在打印表格中的所有记录'出价'
我想只打印listingID列的最后一条记录。
$bids = $this->db->query("SELECT bidID,listingID, listing_title, bid_date, username,amount, starting_, sold, vintage, bottles, size, cases, sold_date, bid_type,
FORMAT(`bin`, 0) AS `bin`,
(CASE
WHEN ( SELECT COUNT(*) FROM bids WHERE bid_listing = listingID )
THEN
(SELECT FORMAT(amount,0) FROM bids WHERE bid_listing = listingID ORDER BY bidID DESC LIMIT 1)
ELSE
FORMAT(`starting_`, 0)
END
) AS `starting`
FROM (`bids`)
JOIN listings ON listingID = bid_listing
JOIN users ON list_uID = userID
WHERE bidder_ID = $userID
ORDER BY bidID DESC");
答案 0 :(得分:0)
试试这个sql。我使用b1。*因为我不知道你要回归的字段。
$bids = $this->db->query("select b1.* from bids b1
left join bids b2 on (b1.listingID = b2.listingID and b1.bidID < b2.bidID
where b2.bidID is null");