2013-07-13 48 views
-2

我有一個類別和子類別字段的表。我想要在特定類別下的不同子類別的總和。像表數據庫中子類別的總和?

Category | Sub category | Amount 
----------+--------------+-------- 
Children | Cloth  | 200 
Children | Cloth  | 500 
Transport | Fuel  | 300 
Children | School  | 500 

我想要佈下的兒童類別的總和。就像那個不同的類別一樣。請幫助。

回答

3

這是從你的問題不清楚你想要什麼,但我認爲這是下列之一:

它你想子類每類別,這樣做:如果你想只是 「兒童」 的子類別

select 
    category, 
    sub_category, 
    sum(amount) as total 
from mytable 
group by category, sub_category 

,這樣做:

select 
    sub_category, 
    sum(amount) as total 
from mytable 
group by sub_category 
where category = 'Children' 
+0

我希望每個的總和特定類別下的子類別,如兒童服裝的總額和兒童學校的總額。按照桌子你可以站在下面。感謝您的回覆 –

+0

第二個查詢是您想要的。 「 – Bohemian

2

是否這樣?

SELECT 
    sub_category 
    ,sum(amount) 
FROM 
    the_table 
GROUP BY 
    sub_category 
WHERE 
    category = 'Children'; 

SELECT 
    category 
    ,sub_category 
    ,sum(amount) 
FROM 
    the_table 
GROUP BY 
    category 
    ,sub_category 


測試/演示了使用SQLite:

$ sqlite3 test.sqlite 
SQLite version 3.7.15.2 2013-01-09 11:53:05 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> create table t (category varchar, subcategory varchar, amount int); 
sqlite> insert into t values ('children', 'cloth', 200), ('children', 'cloth', 500), ('transport', 'fuel', 300), ('children', 'school', 500); 
sqlite> select * from t ; 
children|cloth|200 
children|cloth|500 
transport|fuel|300 
children|school|500 
sqlite> 
sqlite> select category, subcategory, sum(amount) from t group by category, subcategory; 
children|cloth|700 
children|school|500 
transport|fuel|300 
sqlite> 
1
select 
    category, 
    sub_category, 
    sum(amount) as total 
from mytable where sub_category = 'Cloth' 
group by category, sub_category 
+0

」就像那個不同的類別一樣。「他的意思是作爲一個例子。無論如何+1表決:-) – Tarik