2017-04-20 1 views
1

La ligne de code suivante me donne le temps nécessaire sans doublons, ce qui m'aide à éviter les dates réelles.Compte SQL distinct à partir de lignes distinctes?

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

Cependant, lorsque je tente de compter le nombre de cours distincts dans les délais spécifiés avec le code suivant, le compte ajoute dupliquer les heures de départ dans les lignes.

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

Je ne veux pas d'heures de début en double. Toute aide à ce sujet serait grandement appréciée.

Répondre

3

Vous voulez ceci:

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'); 

Dans votre première requête, la GROUP BY ne fait pas vraiment beaucoup. Il produit une ligne pour chaque combinaison date/heure. Le select distinct réduit alors le nombre de lignes. Vous obtiendrez le même résultat sans le group by.

+0

Merci pour votre aide. Je ne savais pas que vous pourriez utiliser un groupe par déclaration comme ça. – HamHat