SQL 语句问题 ( 积分: 100 )

  • 主题发起人 主题发起人 angellover
  • 开始时间 开始时间
A

angellover

Unregistered / Unconfirmed
GUEST, unregistred user!
表:
A B C D M
aa bb cc dd 100
aa zz cc dd 50
aa2 tt cc dd 30
aa1 yy cc dd 20
aa1 tt cc dd 60
结果:
aa cc dd 150
aa2 cc dd 30
aa1 cc dd 80
-----------------------------------
将表中A,C,D相同的数据的M相加
 
select A,C,D,Sum(M)
group by A,C,D
 
select A,C,D,Sum(M) from 表 group by A,C,D
 
这个问题太简单,楼上的都是正解
 
同意bytelife
其实最终还是要知道聚集函数与group by 的用法的,
像SUM,COUNT等等这些都称之不聚集函数的,如果一个SELECT语句中返回的结果集都是用了聚集函数的,比如:select sum(a),count(b) from c 这样的就可以不用GROUP BY 了,
但如果同时还有其它列不加聚集函数的,就比如angellover的问题,是要按照某例或几例进行汇总,这样把没有放在聚集函数中的字段放在GROUP BY 中就可以了,确实属于简单的问题。如liuguilg的答案。只要记住关键的一点就是没有放在聚集函数的字段一定要放在GROUP BY 里就行了,否则天知道会是什么结果。
 
像SUM,COUNT等等这些都称之为聚集函数的,关键的字打错了,容易产生误解,呵呵,,不好意思。。
 
多人接受答案了。
 
后退
顶部