首页 > 解决方案 > 使用带有重复日期和时间的计数

问题描述

我有一个具有重复日期和时间的表,某些日期具有重复时间但真的想使用 SQL 查询将其计为 1,不同的不起作用,也不知道如何做到这一点有什么帮助?目的是计算每天每个注册号的下载量。例如 2018-01-08 有重复的 Starttime,应计为 1。

我的查询没有这样做。

Select  StartDate, Starttime, count(*) AS TOTALDOWNLOAD, RegisterNumber 
FROM            `SAMPLE.csv`
WHERE        (MaintenanceFlightTime > 0)
group by StartDate,Starttime, RegisterNumber 
RegisterNumber  StartDate   StartTime
    A         2017-11-27    19:22:17
    A         2017-11-27    19:45:39
    B         2017-11-29    14:09:30
    A         2017-11-28    21:51:38
    A         2017-11-30    17:09:34
    B         2017-12-01    15:19:35
    A         2017-12-01    19:31:42
    B         2017-12-02    14:59:28
    B         2017-12-03    17:38:39
    B         2017-12-03    19:09:19
    B         2017-12-04    10:16:24
    B         2017-12-04    13:43:37
    B         2017-12-05    06:37:22
    A         2017-12-05    10:24:37
    A         2017-12-05    14:40:19
    B         2017-12-05    19:44:06
    A         2017-12-06    08:26:55
    A         2017-12-06    06:30:38
    A         2017-12-06    11:35:41
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52
    A         2018-01-08    06:40:52

标签: sqlsql-serverreporting-servicesodbc

解决方案


尝试这个:

    Select  RegisterNumber, 
            count(distinct StartDate || '-' || Starttime) AS TOTALDOWNLOAD
    FROM            `SAMPLE.csv`
    WHERE        (MaintenanceFlightTime > 0)
    GROUP BY RegisterNumber 

推荐阅读