mysql 可以group by 两个字段吗

mysql 可以group by 两个字段吗,第1张

可以。

你可以测试啊

group

by

一般和

聚合函数

一起使用才有意义,比如

count

sum

avg等,使用group

by的两个要素:

(1)

出现在select后面的字段

要么是聚合函数中的,要么是group

by

中的.

(2)

要筛选结果

可以先使用where

再用group

by

或者先用group

by

再用having

下面看下

group

by多个条件的分析:

在SQL查询器输入以下语句

create

table

test

(

a

varchar(20),

b

varchar(20),

c

varchar(20)

)

insert

into

test

values(1,'a','甲')

insert

into

test

values(1,'a','甲')

insert

into

test

values(1,'a','甲')

insert

into

test

values(1,'a','甲')

insert

into

test

values(1,'a','乙')

insert

into

test

values(1,'b','乙')

insert

into

test

values(1,'b','乙')

insert

into

test

values(1,'b','乙')

按照

c

b

顺序分组

select

count(a),b,c

from

test

group

by

c,b

易客CRM之前的版本中有一个报表是按月统计销售情况,最近有个客户想按周统计销售情况。按月统计的Sql语句比较好写,sql语句如下:

SELECT DATE_FORMAT(ec_salesorder.duedate,’%Y-%m’) as m, sum(ec_salesorder.total) as total, count(*) as so_count FROM ec_salesorder GROUP BY m ORDER BY m,也就是把duedate日期以月的形式显示,然后groupby,那么按周如何统计呢?

搜了一下mysql的manual,在这里找到一个解决方法,通过mysql的week函数来做,sql语句如下:SELECT WEEK(ec_salesorder.duedate) as m, sum(ec_salesorder.total) as total, count(*) as so_count FROM ec_salesorder GROUP BY m ORDER BY m,这个方法有个缺陷,不能显示年份,仅仅靠一个周数不方便查看统计信息。

继续研究mysql manual,在DATE_FORMAT函数介绍发现2个格式符和周有点关系:

%X Year for the week where Sunday is the first day of the week, numeric, four digitsused with %V

%x Year for the week, where Monday is the first day of the week, numeric, four digitsused with %v

把上面的Sql语句中改成:

SELECT DATE_FORMAT(ec_salesorder.duedate,’%x %v’) as m, sum(ec_salesorder.total) as total, count(*) as so_count FROM ec_salesorder GROUP BY m ORDER BY m

显示的结果如下:

m total so_count

2009 11 10000.00 3

2009 12 44000.00 5

如果周日为一周的第一天,那么sql语句应该为:

SELECT DATE_FORMAT(ec_salesorder.duedate,’%X %V’) as m, sum(ec_salesorder.total) as total, count(*) as so_count FROM ec_salesorder GROUP BY m ORDER BY m

结果应该没错,不出意外,易客CRM下个版本将增加按周统计销售情况的报表。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7496015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存