J'ai une table avec structure:
Comment puis-je sélectionner tous les titres distincts avec leur date la plus ancienne? P>
apparemment, ID (int pk), titre (varchar), date (date) code> p>
Sélectionnez le titre distinct, Min (date) à partir du tableau code> ne fonctionne pas. P>
5 Réponses :
Une fonction agrégée nécessite un groupe par SQL standard
Ceci est "Obtenir la date minimale par titre" en langage clair p> 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 p> p>
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
SELECT MIN(Date) AS Date FROM tbl_Employee /*To get First date Of Employee*/
Pour obtenir les titres des dates supérieures il y a une semaine aujourd'hui, utilisez ceci: p>
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 code> p>
Il vous manque un groupe par code> ici. SELECT title, MIN (date) FROM table GROUP BY title
N'appelez pas une colonne
date code> si vous pouvez l'éviter. Cela ne va que vous causer des problèmes à long terme.