SQL:获取当天下载的最大文件数

时间:2015-10-18 14:08:27

标签: mysql sql

我在编写一个sql查询时感到困惑,因为它获取了当天下载的日期和最大文件总数。

我的表包含3个字段snoda_tefileName,在这种情况下可能不需要fileNamesno为整数,da_te为默认时间戳,fileName为varchar

所以例如我的表看起来像这样: -

sno    da_te                                    fileName

 1        2015-10-18 11:13:00                      xyz.pdf   
 2        2015-10-18 11:13:00                      xxy.pdf
 3        2015-10-18 11:13:00                      xyy.pdf
 4        2015-10-18 11:13:00                      yyz.pdf
 5        2015-10-18 11:13:00                      xyz.pdf
 6        2015-10-17 11:13:00                      xzz.pdf
 7        2015-10-17 11:13:00                      zyz.pdf
 8        2015-10-17 11:13:00                      xyx.pdf
 9        2015-10-16 11:13:00                      xyy.pdf
10        2015-10-16 11:13:00                      xyz.pdf

所以,结果我们可以得到: -

最大下载文件数= 5

和最大文件下载日期= 2015-10-18

我想知道如何为上述情况编写sql查询。

3 个答案:

答案 0 :(得分:1)

您可以将group bycount一起使用。

select date(da_te), count(*)
from tablename
group by date(da_te)
order by count(*) desc
limit 1

答案 1 :(得分:1)

按日期时间列的日期部分分组

select date(da_te), count(*)
from  mytable
group by date(da_te) order by count(*) desc
limit 1

答案 2 :(得分:1)

SELECT * FROM
(
    SELECT
        @n := @n+1,
        z.*
    FROM
    (
        SELECT
            DATE(da_te),
            COUNT(*)
        FROM
            YOURTABLE
        GROUP BY
            DATE(DA_TE)
        ORDER BY
            COUNT(*) DESC
    ) z,
    (SELECT @n := 0) v
) x
WHERE n = 1;