-2
votes

SQL Comment choisir la valeur de la fin de la saison (tous les trois mois)

supposé, j'ai quelques données comme ci-dessous:

    code     vol    val      num     test_date
   ------------------------------------------
1   00001    200    0.1      111      20180330
2   00001    200    0.2      333      20180630
3   00001    200    0.2      333      20180928 -- Max(val) only 0928, there is no data in 20180930
4   00001    200    0.2      333      20181231


3 commentaires

S'il vous plaît montrer vos résultats souhaités. En outre, l'explication n'est pas claire.


J'ai déjà mis à jour, merci beaucoup


Quelle version de mysql utilisez-vous?


3 Réponses :


0
votes

hmmm. . . Si vous souhaitez la valeur maximale pour chaque trimestre, vous pouvez utiliser les fonctions de fenêtre: xxx

Si vous souhaitez la valeur le dernier jour du trimestre dans les données, puis utilisez Commande par test_date Desc à la place: xxx


0 commentaires

0
votes

Vous pouvez utiliser la fonction trimestre disponible dans mysql . xxx

voir dbfiddle .


0 commentaires

1
votes

Étant donné que vos dates sont dans le formulaire NUMERIC YYYYMMDD , vous pouvez les convertir en integer divisant la date de 300. Vous pouvez ensuite trouver le maximum test_date par saison et rejoindre qui retourne à la table d'origine pour obtenir les valeurs de cette date: xxx

Démo sur dbfiddle


0 commentaires