本帖最后由 陈帅 于 2013-4-18 15:44 编辑
数据分组的时候,用group by,假如我有一个数据库MyFirstDB里面建了个表,名为Person,包含了Id(uniqueidentifier类型)、Name(nvarchar(50)类型)、Age(int类型)、Income(int类型)
用select Age as '年龄',COUNT(*) as '数量' from Person2
group by Age 查询,查询到结果
年龄 数量
----------- -----------
19 3
20 2
21 2
22 1
23 1
这个数量记数是按照年龄Age的重复来记数的
继续用select Age as '年龄',Name as '姓名',COUNT(*) as '数量' from Person2
group by Age,Name 查询,查询到结果
年龄 姓名 数量
----------- ------------------ -----------
23 NULL 1
22 东方二 1
21 董七 1
19 李四 2
20 钱三 1
20 王五 1
21 赵六 1
19 诸葛首 1
这个数量记数却竟然是按照姓名Name的重复来记数的
继续查询select Age as '年龄',Name as '姓名',Income as '收入',count(*) as '数量'from Person2
group by Age,Name,Income 查询结果
年龄 姓名 收入 数量
----------- ----------------------- ----------- -----------
19 李四 2000 2
19 诸葛首 2700 1
20 钱三 2700 1
20 王五 2500 1
21 董七 3000 1
21 赵六 2600 1
22 东方二 2200 1
23 NULL 2800 1
这个数量记数竟然仍然是按照姓名Name的重复来记数的
真心求教为何~~ |
|