उपयोग करें:
SELECT x.book_title,
x.user_name
FROM (SELECT b.book_title,
u.user_name,
br.review_date,
CASE
WHEN @book = b.book_title THEN @rownum := @rownum + 1
ELSE @rownum := 1
END AS rank,
@book := b.book_title
FROM BOOKS b
JOIN BOOK_REVIEWS br ON br.book_id = b.book_id
JOIN USERS u ON u.user_id = br.user_id
JOIN (SELECT @rownum := 0, @book := '') r
ORDER BY b.book_title, br.review_date DESC) x
WHERE x.rank = 1
ORDER BY x.review_date DESC
LIMIT 30
MySQL में विश्लेषणात्मक/रैंकिंग/विंडो कार्यक्षमता नहीं है, लेकिन यह उन समीक्षाओं को रैंक करता है जहां नवीनतम को 1 के रूप में चिह्नित किया गया है। यह प्रति पुस्तक आधार पर है...
मैंने समीक्षा की तारीख का खुलासा उन नवीनतम लोगों द्वारा किया है जो प्रति पुस्तक नवीनतम हैं...