2015-01-20 21 views
0

我有一個表,我想從中COUNT最高沒有發生類別明智和只輸出該特定條目。在sql select語句中計數最高發生類別明智

我嘗試此查詢,但沒有運氣 $ SQL = 「SELECT類別,文章,COUNT(*)FROM articles_likes WHERE類= '{$類別}' GROUP BY文章 DESC」;

爲例如:

表 -

article category 
1   A 
1   B 
1   B 
2   A 
2   A 
2   B 
3   A 
4   B 

預期輸出 -

如果我選擇A,則它應該是2

如果我選擇B,則它應該是1

+0

老實說,我不明白這一點。你的桌子是怎樣的? – 2015-01-20 19:15:16

+0

對不起@ThomasKilian我改變了表...希望你可以理解這一點..感謝 – swap 2015-01-20 19:17:52

+0

請添加表架構(可能與表內容的例子),並顯示你的SQL查詢不做你想要的,但顯示你的意圖。 – 2015-01-20 19:19:49

回答

2

你想排序文章按照他們的計數降序排序RY。將查詢限制爲單個記錄會爲您提供最重要的文章。對於A,以下查詢將起作用。請注意,我使用table作爲表名,因爲問題沒有提供表名。

SELECT article 
FROM table 
WHERE category = 'A' 
GROUP BY article 
ORDER BY COUNT(*) DESC 
LIMIT 1 

如果你需要的不僅僅是物品的詳細信息,那麼你可以添加以下到你的SELECT語句的更多細節。

SELECT article, category, COUNT(*) 
FROM table 
WHERE category = 'A' 
GROUP BY article 
ORDER BY COUNT(*) DESC 
LIMIT 1 
+0

完美@Andrew瓊斯..感謝最後一個問題我怎麼顯示最高出現文章的總數?我知道我可能聽起來很愚蠢,但我的大腦在這個時候不能正常工作......我想它已經耗盡了;) – swap 2015-01-20 19:38:33

+0

得到了這個權利,但是如何顯示它的總計數$ records = $ mysqli-> query( $的SQL); while($ row = mysqli_fetch_assoc($ records)){ \t $ articles [] = $ row; \t \t echo「」。 $ row ['article']。 「」; – swap 2015-01-20 19:41:09

+0

您是在尋找類別內的文章總數還是整個表格的總數? – 2015-01-20 19:42:47