SQL Group由多列组成

时间:2011-04-19 11:24:26

标签: sql sqlite

我有下表

CREATE TABLE actions (id INTEGER PRIMARY KEY, key1 NUMERIC, key2 NUMERIC);

我甚至不确定如何解释这个,所以我认为最好我举个例子:

id  key1 key2
1   1    1
2   1    2
3   1    1
4   2    1
5   2    3

输出这样的东西:

key1 key2 count(id)
1    1    2
1    2    1
2    1    1
2    3    1  

我试过这样的东西,但是它不起作用,因为我需要key1字段不是唯一的:

Select  key1,key2,count(id)  from actions group by key2, order by key1

非常感谢

2 个答案:

答案 0 :(得分:20)

SELECT key1, key2, COUNT(id) FROM actions GROUP BY key1, key2 ORDER BY key1, key2

答案 1 :(得分:4)

在GROUP子句中,您必须编写所有不在agregate(COUNT,MAX,MIN)中的字段。因此,在这种情况下,您需要添加key1字段,如下所示:

Select  key1, key2, count(id)  
from actions 
group by key1, key2 
order by key1