我有以下表格,我運行正確的SQL查詢嗎?
上市:
ID varchar2(33)
Name varchar2(100)
用戶:
ID varchar2(33)
Name varchar2(100)
User_Listing
ID auto-generated
UserId references ID from Users
ListingId references ID from Listing
我想找到用戶的喜愛上市(本在User_listing表中列出具有最高計數的列表或例如 如果user_listing表包含<id,user_id,listing_id>,
1 1 2
1 1 3
1 2 3
1 3 3
的最愛列表3
是它運行正確的查詢?
Select Listing.name
from Listing
where Listing.id = (Select p.id
from User_listing p, User_listing q
having count(p.id) > count(q.id)
GROUP BY p.id)
此外,如果我不得不打印出前5名的最愛,我該怎麼做?
對於第二個問題,使用** ** LIMIT選擇前五個記錄 – user1406062
添加標籤與正在使用將有助於獲得相應的RDBMS你更好的答案。正如你所看到的,答覆者正試圖給你所有RDBMS的答案,除非你直接要求,否則這是沒有必要的。 – Yaroslav
子選擇中沒有JOIN。這看起來很可疑。 –