首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按一周中的每一天记录订单价值

问按一周中的每一天记录订单价值
EN

Stack Overflow用户
提问于 2019-05-04 04:34:46
回答 1查看 35关注 0票数 0

我正在尝试按一周中的每一天获得记录的order值,基于一个包含以下列的表:

代码语言:javascript
复制
id
amount
date

我想知道在MySQL中是否有一种简单的方法可以做到这一点?

我正在考虑将金额按日分组,然后按一周中的一天分组,然后只检索最高值。不过,我不确定这是否是最好的办法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-04 04:41:15

这应该是您想做的事情;它会找到一周中每一天的最大总量,然后将其与每一天的总和相加,以找到每个工作日最大值发生的日期:

代码语言:javascript
复制
SELECT t.weekday, t.date, t.total
FROM (SELECT date, DATE_FORMAT(date, '%W') AS weekday, SUM(amount) AS total
      FROM yourtable
      GROUP BY date) t
JOIN (SELECT DATE_FORMAT(date, '%W') AS weekday, MAX(total) AS max_total
      FROM (SELECT date, SUM(amount) AS total
            FROM yourtable
            GROUP BY date) t
      GROUP BY weekday) w ON w.weekday = t.weekday AND w.max_total = t.total

输出(用于我的演示)

代码语言:javascript
复制
weekday     date        total
Thursday    2019-04-11  110.00
Friday      2019-04-12  100.00
Saturday    2019-04-20  180.00
Sunday      2019-04-21  50.00
Monday      2019-04-22  160.00
Tuesday     2019-04-23  50.00
Wednesday   2019-04-24  230.00

dbfiddle演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55979475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档