我有一个包含category和subcategory字段的表。我想要特定类别下不同子类别的总和。像表
Category | Sub category | Amount
----------+--------------+--------
Children | Cloth | 200
Children | Cloth | 500
Transport | Fuel | 300
Children | School | 500
我想要儿童类别下的布料总和。喜欢不同类别的。请帮助。
答案 0 :(得分: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'
答案 1 :(得分: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>
答案 2 :(得分:1)
select
category,
sub_category,
sum(amount) as total
from mytable where sub_category = 'Cloth'
group by category, sub_category