2017-08-26 73 views
0

我試圖找到最後10個最常用的條目。我可以找到不同的條目,但我不知道如何計算每個條目的數量一。計算每個不同項目的數量 - 試圖找到最常見的

最後10項是

table 
desk 
desk 
desk 
chair 
table 
chair 
desk 
table 
chair 

下面的SQL查詢可以找到不同的條目

SELECT DISTINCT entry FROM `records` WHERE custid ='464' LIMIT 10 

table 
chair 
desk 

我已經試過

SELECT COUNT(entry) FROM 
    (SELECT DISTINCT entry FROM `records` 
    WHERE custid ='464' LIMIT 10) 

上面似乎不工作。我正在尋找的是一個SQL查詢將產生

table (3) 
desk (4) 
chair (3) 

任何人都可以找到一種方法來做到這一點?

在此先感謝您的幫助

回答

0

你需要的是GROUP BYhttps://www.w3schools.com/sql/sql_groupby.asp) 這個特殊的問題可以通過來解決(考慮條目是包含列的表,ESK等) SELECT entry,COUNT(*) FROM records WHERE custid ='464' GROUP BYentry LIMIT 10

應用LIMIT直接與GROUP BY MySQL的限制每個組的行,所以實際查詢是

`SELECT entry,COUNT(*) FROM (Select entry from records WHERE custid ='464' limit 10) GROUP BY entry` 
+0

這裏不需要不同的子查詢;只是計數和由 –

+0

感謝您的代碼。這項工作很不錯,但限制是不同的條目。有沒有辦法讓它只搜索最後10個條目? – bevan7

+0

我認爲這樣做,但我錯了。試試這個 '選擇條目,從(選擇條目從記錄WHERE custid ='464'限制10)計數(*)組入門' – AbdullahRazzaki

0
SELECT COUNT(DISTINCT entry) as counts FROM records WHERE custid ='464' LIMIT 10 
相關問題