create table aa{
     id int ,
     number int,
     card int
}insert into (1,22,1);
insert into (2,12,1);
insert into (3,2,1);
insert into (4,22,2);
insert into (5,22,2);
insert into (6,22,2);
insert into (7,22,2);
insert into (8,22,2);
insert into (9,22,3);
insert into (10,22,3);我想要查询出 card 相同的时候 number的总和

解决方案 »

  1.   

    select count(distinct card) from aa 
      

  2.   

    select count(distinct number) from aa where card = "相同的数";
      

  3.   

    select card,sum(number) from aa group by card
      

  4.   

    加1但我有个问题,假如card就一个,没有相同的又如何呢?我不太清楚是不是要排除这样的情况,自作主张修改了一下:
    select card,sum(number) 
    from aa 
    having count(card)>1
    group by card
      

  5.   

    加1不过如果card只有一个呢,没有相同的,我不太清楚是否要排除这样的情况,自作主张修改了下:
    select card,sum(number) 
    from aa 
    having count(card)>1
    group by card
      

  6.   

    不过如果card只有一个呢,没有相同的,
    用SQL语句一样解决,不影响
    select card,sum(number) from tt group by card
      

  7.   

    select count(distinct card) from aa 
      

  8.   

    其实我问错了 昨天要下班之前问得,太急了没问清楚,现在已经解决了,不过还是需要请求2次,在用java判断才可以得到想要的结果
    其实我的表结构是create table aa{
      id int ,
      number int,
      card int,
      info int,
      date Date,
      server int
    }我要查看在的是 info以纵行显示,如果date相同 info相同 就把number相加,
    所以date和info都要分组  我写得sql是
    select sum(number) from aa where server=1 and date='2011-02-11'
    group by info,date
    这样是错的,他虽然sum中结果能够统计的正确,但是info和date就会重复显示
    我要的是在指定某一时间的info里面的相同数据 也就是number能够加载一起
      

  9.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。