10
votes

SQL Grammar pour Sélectionnez Min (date)

J'ai une table avec structure: ID (int pk), titre (varchar), date (date)

Comment puis-je sélectionner tous les titres distincts avec leur date la plus ancienne?

apparemment, Sélectionnez le titre distinct, Min (date) à partir du tableau ne fonctionne pas.

sql

1 commentaires

N'appelez pas une colonne date si vous pouvez l'éviter. Cela ne va que vous causer des problèmes à long terme.


5 Réponses :


5
votes

Une fonction agrégée nécessite un groupe par SQL standard

Ceci est "Obtenir la date minimale par titre" en langage clair xxx

la plupart des RDBM et la norme exigent que La colonne est soit dans le groupe par ou dans une fonction (min, comptage, etc.): MySQL est l'exception notable avec certaines extensions qui donnent un comportement imprévisible


0 commentaires

27
votes

Vous devez utiliser groupe par code> au lieu de distinct code> si vous souhaitez utiliser des fonctions d'agrégation.

SELECT title, MIN(date)
FROM table
GROUP BY title


0 commentaires

0
votes
SELECT  MIN(Date)  AS Date  FROM tbl_Employee /*To get First date Of Employee*/

0 commentaires

0
votes

Pour obtenir les titres des dates supérieures il y a une semaine aujourd'hui, utilisez ceci:

Sélectionnez Titre, min (date_key_no) comme intro_date à partir de la table avec min (date_key_no)> = to_number (TO_CHAR (sysdate, 'yyyymmdd')) - 7


0 commentaires

0
votes

Il vous manque un groupe par code> ici.

SELECT title, MIN (date) FROM table GROUP BY title


0 commentaires