Aller au contenu

Sujets conseillés

Posté

SELECT *
FROM table
WHERE strict_name = 'ThisField'
GROUP BY strict_name
ORDER BY n_data DESC

J'ai plusieurs lignes pour strict_name = 'ThisField' qui ont (valeur de clé primaire - n_data) 49 à 54

avec le SQL je voulais rechercher celui qui a le n_data le plus petit, mais mon sql me donne celui avec n_data = 51 ! Je ne comprends pas

Posté

* et GROUP BY ne font pas bon ménage. Il faudrait sélectionner les champs qui seront utilisés uniquement.

Posté

Faire un "GROUP BY strict_name" alors que le strict_name est fixe, c'est balo quand même.

Enlève le GROUP BY, ça devrait mieux fonctionner déjà...

Après pour avoir juste une ligne, deux solutions :

- faire un SELECT MIN(n_data) : le plus efficace à mon sens, mais ne permet de récupérer qu'un seul champ (ou presque)

- ajouter un ORDER BY n_data DESC LIMIT 0, 1

Posté

Oui mais en faite voici tout mon SQL, celui que j'ai montrer était seulement pour tester des solutions:

SELECT *
FROM PHOTOS
GROUP BY person_in_photo
ORDER BY n_photo DESC
LIMIT 0,10

Mon but est d'avoir 10 lignes qui montre 10 liens vers des images, dont pour chaque personne photographier je ne retien qu'une donnee, mais je ne veux que la premiere photo de chaque personne, mais il se trouve que ma base de donnee melange les lignes et ne prend pas la premiere (donc n_photo) la plus basse, quand je parcours mes donnees dans la base de donnees parfois j'ai des lignes qui ne sont pas a leur place par rapport au numéro de ligne, et si ca été juste j'aurais as de probleme

Posté

Dans ce cas je pense que le plus simple est d'utiliser une requête imbriquée, ou autre mécanisme du genre.

Une première pour obtenir les 10 "plus basses", puis la jointure pour obtenir les infos "détaillées".

Posté (modifié)

requête imbriquée C-A-D 2 requetes en 1 ?

Vois tu maintenant pourquoi ca serait tres bine que phpmyadmin range mes donnees selon l'ordre d'insertion

Modifié par djp1988

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...