我有一个叫做出价的表,它有多行。
这些都有唯一的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");
试试这个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");