首页 新闻 搜索 专区 学院

sql 聚合函数查询

0
悬赏园豆:10 [已解决问题] 解决于 2013-09-11 19:35

现在需要查询出表中的这两个字段,不过当aid 为1126时就显示 ANumber的总和,为什么我这样写不行,查询出来的和表中的数据还是一样呢

select aid,case aid when '1126' then sum(ANumber) else ANumber end as ANumber from Auction group by aid,ANumber

t101lian的主页 t101lian | 初学一级 | 园豆:18
提问于:2013-09-11 17:27
< >
分享
最佳答案
0
SELECT  [aid], CASE WHEN [aid] = 1126  THEN (SELECT SUM([ANumber]) FROM [Auction] ) ELSE [ANumber] END AS ANumber
    FROM [Auction]
收获园豆:9
C#开发人员 | 初学一级 |园豆:181 | 2013-09-11 17:45
其他回答(1)
1

因为你按aid,ANumber分组了,所以aid和ANumber都是有对应关系的,所以sum的值仍然是原来ANumber的值。

收获园豆:1
sinhbv | 园豆:2579 (老鸟四级) | 2013-09-11 17:33

但是后面不加gourp by 就会出错,然后呢,请问大牛, 那我应该怎么查询。

支持(0) 反对(0) t101lian | 园豆:18 (初学一级) | 2013-09-11 17:37

@t101lian: 表结构是?

支持(0) 反对(0) sinhbv | 园豆:2579 (老鸟四级) | 2013-09-11 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册