这是怎么回事?关于group by 的
一个sql:
select
a.year as year , c.name as area , sum(a.price) as price
from
supor_new.tbl_product_core_list as a , supor_new.dict_terminal as b , supor_new.tree_areapp as c
where
a.terminal_num =b.terminal_num
and b.areapp=c.id
group by c.name ,year
上面这样写正确
但如果写成group by area,year。出来的数据就不对了。
不知道什么原因,请高手指点。谢谢!
------解决方案--------------------group by 是用来分组的,有一个前提就是有重复数据,在select 子句中只能有分组字段(也就是重复的字段)和统计函数。
你的sql语句的order by中c.name ,year与select子句中a.year, c.name ,对应,该了别的当然就错了。
------解决方案--------------------这个坑定是三个表中有重复的字段,你的加上表的别名才行啊
------解决方案--------------------你看下 area 是不是其它表的什么字段。
你现在是以 supor_new.tbl_product_core_list 的 year
和 supor_new.tree_areapp 的name来分组查询的、