如何在MySQL中选择与最大值列相关的日期
我有一个表如何在MySQL中选择与最大值列相关的日期,mysql,Mysql,我有一个表tbl,其中列datesales 我执行以下MySQL查询: SELECT DAY(date) as DAY, count(sales) as sales_count FROM tbl 我得到这个结果: DAY sales_count 1 224 2 361 3 155 4 281 ....... 30 416 31 332 现在,通过执行以下操作,我可以在周中找到日,此时销售额为MAX: S
tbl
,其中列date
sales
我执行以下MySQL查询:
SELECT DAY(date) as DAY, count(sales) as sales_count
FROM tbl
我得到这个结果:
DAY sales_count
1 224
2 361
3 155
4 281
.......
30 416
31 332
现在,通过执行以下操作,我可以在周中找到日,此时销售额为MAX
:
SELECT DAY(date) as DAY, WEEK(date) as WEEK, max(count(sales)) as MAX_SALES,
FROM tbl
GROUP BY WEEK(date)
我明白了:
DAY WEEK MAX_SALES
1 1 324
8 2 461
15 3 255
22 4 481
.......
周
和最大销售额
是正确的,但天
值似乎是周
的第一个天
,而不是发生最大销售额
的天。我可以确认这是因为我们每周都有分组
,这就是天
如何获得与周
相关的值的原因。我们不能按MAX()分组
如何使日
值反映周
中的最大销售额
日期?您可以尝试使用子查询
SELECT weekDay,
DAY,
MAX(sales_count)
FROM (
SELECT DAY(date) as DAY,
Week(date) as weekDay
count(sales) as sales_count
FROM tbl
GROUP BY
DAY(date),
Week(date)
) t1
group by
weekDay,
DAY
我仍然得到所有的日子,而不仅仅是销售日