select a.*,sum(b.car_sid*b.car_bid) from ddd a,ccc b where a.id=b.id 你这用了个SUM, 所以MYSQL会把这条记录处理成select a.*,sum(b.car_sid*b.car_bid) from ddd a,ccc b where a.id=b.id group by a.*
select a.*,sum(b.car_sid*b.car_bid) from ddd a,ccc b where a.id=b.id竟然语法没有报错?
一般来说 如果select 后面有聚合函数 比如你的sum 那么其他的列就要作为分组列 比如select 后面你写的a.*那么规范的写法是这样的 select a.col1,a.col2 ,sum(b.car_sid*b.car_bid) from ddd a,ccc b where a.id=b.id group by a.col1,a.col2
你这用了个SUM, 所以MYSQL会把这条记录处理成select a.*,sum(b.car_sid*b.car_bid) from ddd a,ccc b where a.id=b.id group by a.*
那么其他的列就要作为分组列 比如select 后面你写的a.*那么规范的写法是这样的
select a.col1,a.col2 ,sum(b.car_sid*b.car_bid) from ddd a,ccc b where a.id=b.id
group by a.col1,a.col2