Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MySQL中选择与最大值列相关的日期_Mysql - Fatal编程技术网

如何在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

我仍然得到所有的日子,而不仅仅是销售日