2013-08-22 43 views
0

我想通過聲明只顯示該組中的最大組;只顯示組中的最大計數

SELECT COUNT(type) AS booking, type FROM booking b, room r WHERE r.rno = b.rno AND r.hno = b.hno GROUP BY type; 

我修改了它,所以我們現在可以看到這個查詢響應,您可以看到組double大於家族。

預訂類型


 5 double 
    2 family 

我知道只有一個計數相比號,所以我可以做COUNT(型),具有HAVING關鍵字,您可以爲了顯示添加> 2或類似,但這不是很有活力,因爲我知道這兩個數字,所以只能在這種情況下工作。

+0

請指定您的數據庫版本 - 答案取決於它。 –

回答

2

有這不是一個having聲明。但你可以使用子查詢rownum

select t.* 
from (SELECT COUNT(type) AS booking, type 
     FROM booking b join 
      room r 
      on r.rno = b.rno AND r.hno = b.hno 
     GROUP BY type 
     order by count(type) desc 
    ) t 
where rownum = 1; 
+0

@JeffreyKemp。 。 。這沒有道理,做到了。我改變了我的意圖。 –

+0

這更好:) - 刪除我的評論 –

3

ORDER BY COUNT(類型)DESC LIMIT 1

1

只是爲了查詢..

爲了通過預訂遞減

問候

1

試試這個

SELECT COUNT(type) AS booking, type FROM booking b, room r WHERE r.rno = b.rno AND r.hno = b.hno ORDER BY type DESC LIMIT 1