J'ai la structure inférieure à la structure la sortie doit être p> Il doit renvoyer la valeur C1 la plus élevée dans chaque séquence qui a la même séquence Valeur de C2 P> Le groupe simple ne fonctionne pas, veuillez guider comment y parvenir. p> Merci d'avance p> P>
3 Réponses :
semble être comme si vous voulez des enregistrements où aucun C1 plus élevé code> existe ou le
c2 code> du prochain
C1 code> n'est pas égal au courant
C2 code>. Vous pouvez obtenir le prochain
C2 code> dans une commande de sous-requête par
C1 code> à l'aide de
limite 1 code>.
SELECT t1.c1,
t1.c2
FROM elbat t1
WHERE NOT EXISTS (SELECT t2.c2
FROM elbat t2
WHERE t2.c1 > t1.c1)
OR (SELECT t2.c2
FROM elbat t2
WHERE t2.c1 > t1.c1
ORDER BY t2.c1
LIMIT 1) <> t1.c2;
Vous pouvez le faire par sortie: p> démo sur dbfiddle p> p> P> rejoindre gauche code> à la table sur la valeur suivante de la table ayant une valeur différente
C2 code>. Nous utilisons un groupe
par code> pour obtenir la dernière ligne de la table qui n'a pas de correspondance:
Vous voulez le max C1 pour chaque série de C2:
| C1 | C2 | | --- | --- | | 3 | A | | 5 | B | | 6 | A | | 7 | C |
Les valeurs C1 sont-elles consécutives sans lacunes?
@Nick Non, ça pourrait être tout
Je dois trouver le plus haut de C1 jusqu'à la poursuite de la même valeur de C2
Quelle version de mysql?
La version est 5.6.10