En SQL, j'essaie d'extraire la première et la deuxième date d'une table. J'utilise la requête ci-dessous que j'ai formulée en fonction d'un certain nombre de messages sur le même sujet, à savoir l'extraction de la deuxième date, etc. Mais pour une raison quelconque, je ne comprends pas pourquoi.Première et deuxième date de la table dans SQL
La table s'appelle motif_segmentvalue
et elle a une colonne appelée EntryDate
que je suis intéressé à utiliser pour extraire les dates. J'ai écrit une petite requête pour un utilisateur particulier 5407
pour voir si j'obtenais le bon résultat ou non.
select sv2.UserId, sv2.EntryDate, min(sv2.EntryDate)
from motif_segmentvalue sv2
where sv2.EntryDate > (select MIN(sv3.EntryDate) from motif_segmentvalue sv3)
and sv2.UserId = "5407"
La sortie que je reçois est:
UserId EntryDate min(sv2.EntryDate)
5407 2016-01-20 12:50:00 2016-01-20 12:50:00
Sur la base de mes données, ce qui est faux et la colonne « EntryDate » devrait avoir une date différente de min (sv2.EntryDate) - il devrait avoir la deuxième date. Mais pour une raison quelconque, ce n'est pas le cas. Je ne peux pas comprendre ce que je fais mal. Quelqu'un peut-il donner des conseils sur ce que je pourrais faire de façon incorrecte? Est-ce que je m'attends à ce que "EntryDate" soit la deuxième date?
J'ai également essayé beaucoup d'autres utilisateurs et les deux colonnes donnent la même date.
Merci
Avez-vous essayé en utilisant la clause ORDER '' BY' et LIMIT' pour 2 lignes seulement –
Eh oui ... je reçois le même résultat. L'objectif final est d'exécuter ceci sur toute la base de données pour tous les utilisateurs que j'ai et limiter ne fonctionne pas là, il retourne juste le premier utilisateur ... –