【问题标题】:SQL distinct count from distinct rows?SQL 不同行的不同计数?
【发布时间】:2017-04-20 00:39:45
【问题描述】:

以下代码行给了我所需的时间,没有重复,帮助我避免了实际日期。

    SELECT DISTINCT TO_CHAR(Start_Date_Time, 'HH:MI AM') AS StartTime
    FROM Section
    GROUP BY Start_Date_Time;

但是,当我尝试使用以下代码计算那些指定时间的不同课程编号时,计数会在行中添加重复的开始时间。

    SELECT DISTINCT TO_CHAR(Start_Date_Time, 'HH:MI AM') AS StartTime, 
    COUNT(Course_No)
    FROM Section
    GROUP BY Start_Date_Time;

我不想要任何重复的开始时间。对此的任何帮助将不胜感激。

【问题讨论】:

    标签: sql oracle date count to-char


    【解决方案1】:

    你想要这个:

    SELECT TO_CHAR(Start_Date_Time, 'HH:MI AM') AS StartTime, COUNT(Course_No)
    FROM Section
    GROUP BY TO_CHAR(Start_Date_Time, 'HH:MI AM');
    

    在您的第一个查询中,GROUP BY 并没有真正做太多事情。它为每个日期/时间组合生成一行。然后select distinct 正在减少行数。如果没有group by,您将获得相同的结果。

    【讨论】:

    • 谢谢你。我不知道你可以使用这样的 group by 语句。
    猜你喜欢
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多