2014-02-15 27 views
0

我有我在頁面上顯示的類別列表。選擇每個項目的數量(數量)並將它們作爲列表返回

category1(21) 
category2(33) 
category3(0) 
category4(149) 

他們每個人都顯示它的項目數量。當我點擊一個類別時,它會顯示它所有的項目。非常簡單。

我使用Postgresql。我想知道,從db中檢索這些數字的更簡單有效的方法是什麼?嗯,我知道如何選擇項目的計數的一個項目:

select count(1) from .... 

但我要顯示所有的人都爲每個類別在同一時間。我該怎麼做:我應該使用什麼數據結構?查詢的樣子是什麼?

當然,他們應該保持相同的順序,因爲在客戶端我必須解析它們。

P.S.只有幾個類別,例如10-20,並且不會有更多的確定。

+1

你說的意思是「我應該用什麼數據結構」?你有沒有任何分貝? – Alexander

+0

@亞歷山大,我的意思是,如何從SQL查詢中返回一個列表(元組)?有沒有一個明智的方法?是的,我有一個分貝。 –

+0

可能是像「select count((),category_id from

group by category_id」? – ondra

回答

2

希望這可以幫助你。

你應該有兩個表 - 1. category(id, name)2. items(id, name, catid)。我只是採取了最小的領域,但你可以補充。 catid是項目表中類別id的參考。

您的查詢應該是這樣的 -

SELECT c.name as Category, COUNT(i.id) as Items 
FROM category as c LEFT OUTER JOIN items as i ON (c.id= i.catid) 
GROUP BY c.id ORDER BY c.name 
相關問題