2012-07-06 72 views
1

我想創建一個sql查詢,讓我在我的表中使用最常用的id的前5名。 我的表有這些列:Sql過濾id的

reservationid 
costumerid 
roomid 
hotelid 

我試圖讓最常用的IDS酒店的前5名。我認爲我不得不使用計數功能,但似乎並不奏效。它只是計算所有的hotelids,不看之間的區別ID的

select count(hotelid) from reservation; 

人可以幫我把我在正確的方向?

在此先感謝!

回答

2
SELECT COUNT(`hotelid`) AS `freq`, `hotelid` 
     FROM `reservation` 
    GROUP BY `hotelid` 
    ORDER BY `freq` DESC LIMIT 5 ; 
+0

大聲笑很快,感謝它實際上運作良好! – user1497398 2012-07-06 22:34:02

+0

'COUNT(*)'會給出相同的reuslt。 – 2012-07-06 22:34:33

+0

如果有效,請將問題標記爲已回答,以便其他人知道。標記爲 – Tucker 2012-07-06 22:40:33