people表包含两个字段 age, income
可否联合两个字段做group操作?
那样可以统计出所有 (age, income)组包含记录的数目select age, income, count(*) from people  
这样操作不是想要的结果20 11
20 11
20 19
20 18如果表的数据如上,查询结果为20 11 2
20 19 1
20 18 1
如何写SQL语句达到这个目的呢?

解决方案 »

  1.   

    select age, income, count(*) from people  group by age, income
      

  2.   

    如果使用如下语句,会导致很多数据丢失,显示十分诡异,这是什么原因呢,呵呵
    select age, income from people group by age
      

  3.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

    这个语句虽然可以执行 但是不和逻辑  分组后age的其他字段你要取什么
    select age, max(income) from people group by age
      

  5.   

    --group by 后跟除了聚合字段外的其他字段