读书人

这是咋回事?关于group by 的

发布时间: 2012-03-22 17:43:57 作者: rapoo

这是怎么回事?关于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来分组查询的、

读书人网 >Mysql

热点推荐