分两次啊
SELECT count(id),receiver from letter where emergency='1';SELECT receiver from letter where emergency<>'1';

解决方案 »

  1.   

    不行呀,我只是句了个例子,我要统计的不只这一种情况,我要统计几种不同条件下的receiver的情况,一次显示,如果这样做,我其他的情况怎么办
      

  2.   

    我想上面的查询用一个sql语句写出,能行么
      

  3.   

    应该是:
    SELECT count(id),receiver from letter where emergency = '1' group by receiver你的:
    SELECT count(id),receiver from letter group by receiver,emergency having emergency = '1'having是对group by 的条件如果你想选出count(id)>3的
    可以这样用
    SELECT count(id) col,receiver from letter group by receiver,emergency having 
    col>3 
      

  4.   

    这样肯定不对呀,你这样做那些一条也没有emergency='1'的receiver还是列不出来阿,现在我想的就是同时列出这些人
      

  5.   

    同意 sunrain_gao(太阳雨):
      他说的没有问题啊,是应该按receiver分组,然后查询emergency='1'的啊,emergency字段不能被分组啊,我觉得应该是这样,可能还没有完全看懂你的题目,你试试吧
      

  6.   

    但是你没考虑到有些人可能连一条 emergency='1' 的纪录都没有,这些人在你做的sql查询后被忽略掉了,也就是这些receiver没有被统计出来 ,我想全统计出来,并且要 order by receiver
      

  7.   

    SELECT count(id),receiver from letter group by receiver,emergency having emergency = '1'你肯定不能加这个条件 having emergency = '1',这样,SELECT count(id),receiver,emergency from letter group by receiver,emergency 
    这样之后,能表示每个人emergency = '1'的有多少个,emergency = '0'的有多少个