[英]MySQL join only latest row
我有 3 個具有以下列名稱的表:
餐廳:
評論:
用戶:-id、用戶名、email、密碼、權限
在我的主頁上的 PHP 項目中,如果有任何評論,我想顯示所有帶有最新評論的餐廳。 有人可以幫助我如何在單個查詢和單個 foreach 循環中做到這一點嗎? 我已經嘗試使用子查詢進行左連接,但無法解決重復行的問題。 提前致謝!
嘗試這個
SELECT *
FROM restaurants
LEFT JOIN
(
SELECT restaurant_id AS restId, MAX(posted_at) AS lastTime
FROM reviews
GROUP BY restaurant_id
) AS last_reviews
ON last_reviews.restId = restaurants.id
LEFT JOIN reviews
ON reviews.posted_at = last_reviews.lastTime
AND reviews.restaurant_id = restaurants.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.