2017-08-02 25 views
0

我有一個查詢按類別顯示帖子。我只需要顯示前5個類別的結果。我的查詢顯示類別和類別的數量。該查詢顯示每個類別中的所有類別和帖子數量。MySQL查詢限制類別數

我想限制類別的顯示。

我有這個疑問:

SELECT qp_category, name, count(qp_category) as Total 
FROM questionpapers 
INNER JOIN 
questioncategory 
ON 
questionpapers.qp_category = questioncategory.qcid 
GROUP BY qp_category; 

這是表結構,我有

category table 
-------------------------- 
qcid | name | active 
-------------------------- 

post table 
-------------------------------------------------------- 
qpid | title | qp_category | description | date | active 
-------------------------------------------------------- 
+0

怎樣的末尾添加「LIMIT」關於您的查詢的末尾添加'限5'? 'SELECT qp_category,名稱,計數(qp_category)作爲總 FROM questionpapers INNER JOIN questioncategory ON questionpapers.qp_category = questioncategory.qcid GROUP BY qp_category LIMIT 5;' –

+0

是的,它是通過將極限工作5. – user2634873

+0

很高興它幫助和傷心,我沒有發佈這個答案,但張貼在評論。大聲笑 –

回答

0

您需要在您的查詢

SELECT qp_category, name, count(qp_category) as Total 
FROM questionpapers 
INNER JOIN questioncategory ON questionpapers.qp_category = questioncategory.qcid 
GROUP BY qp_category LIMIT 5; 
+1

請注意,沒有ORDER BY的LIMIT是相當無意義的 – Strawberry

0

我想你需要什麼是極限:

SELECT qp_category, name, count(qp_category) as Total 
FROM questionpapers 
INNER JOIN 
questioncategory 
ON 
questionpapers.qp_category = questioncategory.qcid 
GROUP BY qp_category 
LIMIT 5; 
+0

和上面相同的註釋 – Strawberry

0

限制應有所幫助。

SELECT qp_category, name, count(qp_category) as Total 
FROM questionpapers 
INNER JOIN questioncategory ON questionpapers.qp_category = questioncategory.qcid 
GROUP BY qp_category 
LIMIT 5; 

FYI:如果SQL Server然後使用TOP如果MySQLPostgreSQL然後使用LIMIT

+0

同樣,請注意,沒有ORDER BY的LIMIT是相當無意義的 – Strawberry

+1

不能同意更多,但沒有提及排序類別。如果不需要序列,那麼使用ORDER BY子句是開銷。 – JRG

+0

不是。如果有人想要某件東西的前5件,則需要ORDER BY,即使在提供了GROUP BY子句的情況下也是如此。本手冊更詳細地介紹了這一點 – Strawberry