J'ai le tableau suivant:SQL :: Self joindre une table pour satisfaire une condition particulière?
mysql> SELECT * FROM temp;
+----+------+
| id | a |
+----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
+----+------+
Je suis en train d'obtenir la sortie suivante:
+----+------+------+
| id | a | a |
+----+------+------+
| 1 | 1 | 2 |
| 2 | 2 | 3 |
| 3 | 3 | 4 |
+----+------+------+
mais je rencontre un petit problème. J'ai écrit la requête suivante:
mysql> SELECT A.id, A.a, B.a FROM temp A, temp B WHERE B.a>A.a;
mais ma sortie est la suivante:
+----+------+------+
| id | a | a |
+----+------+------+
| 1 | 1 | 2 |
| 1 | 1 | 3 |
| 2 | 2 | 3 |
| 1 | 1 | 4 |
| 2 | 2 | 4 |
| 3 | 3 | 4 |
+----+------+------+
Quelqu'un peut-il me dire comment convertir en la sortie désirée? J'essaie d'obtenir un formulaire où seules les valeurs consécutives sont produites. Je veux dire, si 2 est supérieur à 1 et 3 est supérieur à 2, je ne veux pas 3 est supérieur à 1.
sont les nombres dans 'consécutifs sans a' lacunes ou tout simplement ordonné et peut avoir des lacunes? –
@Martin: Oh .. non, ils ne doivent pas être consécutifs. Ils peuvent avoir des lacunes. – Legend
@OMG: Oui. Si c'est ce qu'ils appellent ceci :) – Legend