[PHP-mySql] requête imbriquée
raditz
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
raditz Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
raditz Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je me casse la tête sur la requête suivante :
J'ai une table ce_lqdj_pts avec les champs : lp_id (auto increment, primaire), lp_uid (id user), lp_pts (nombre de point par journée).
Pour obtenir le nombre de points cumulés lors de la derniere journée et créer un classement, pas de soucis :
J'aimerais obtenir le nombre de points cumulés lors de la journée précédente (càd le classement sans le dernier lp_id de chaque lp_uid) et là je bloque, je ne dois pas etre tres loin du compte :
J'obtiens le meme résultat que ma requete précédente, je bisque !
Merci pour votre aide.
je me casse la tête sur la requête suivante :
J'ai une table ce_lqdj_pts avec les champs : lp_id (auto increment, primaire), lp_uid (id user), lp_pts (nombre de point par journée).
Pour obtenir le nombre de points cumulés lors de la derniere journée et créer un classement, pas de soucis :
$sql_pts = "SELECT lp_uid, SUM(lp_pts) AS pts_equipes FROM ce_lqdj_pts GROUP BY lp_uid ORDER BY pts_equipes DESC";
J'aimerais obtenir le nombre de points cumulés lors de la journée précédente (càd le classement sans le dernier lp_id de chaque lp_uid) et là je bloque, je ne dois pas etre tres loin du compte :
$sql_last_pts= "SELECT lp_id, lp_uid, SUM(lp_pts) AS pts_equipes FROM ce_lqdj_pts GROUP BY lp_uid HAVING NOT lp_id IN (SELECT MAX(lp_id) AS max_lpid FROM ce_lqdj_pts GROUP BY lp_uid) ORDER BY pts_equipes_ancien DESC";
J'obtiens le meme résultat que ma requete précédente, je bisque !
Merci pour votre aide.
A voir également:
- [PHP-mySql] requête imbriquée
- Easy php - Télécharger - Divers Web & Internet
- Liste imbriquée excel - Guide
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Alert php ✓ - Forum PHP
3 réponses
On m'a donné la réponse sur un autre forum :
Merci pour votre aide !
SELECT lp_uid, SUM(lp_pts) AS pts_equipes FROM ce_lqdj_pts WHERE NOT lp_id IN (SELECT MAX(lp_id) AS max_lpid FROM ce_lqdj_pts GROUP BY lp_uid) GROUP BY lp_uid ORDER BY pts_equipes_ancien DESC
Merci pour votre aide !
Bonjour,
Devrait fonctionner
SELECT lp_id, lp_uid, SUM(lp_pts) AS pts_equipes FROM ce_lqdj_pts GROUP BY lp_uid HAVING lp_id < (SELECT MAX(lp_id) FROM ce_lqdj_pts ) ORDER BY pts_equipes_ancien DESC
Devrait fonctionner
Non ça ne fonctionne pas. On m'a conseillé d'ajouter un champ date :
Merci pour votre réponse.
Le souci, c'est que mon SUM(lp_pts) me donne tjrs la somme de tous les enregistrement et pas la somme de tous les enregistrements - le dernier en date.
Vous voyez une soluce ?
Merci pour votre réponse.
$sql_pts_ancien = "SELECT lp_id,lp_uid,lp_date,SUM(lp_pts) AS pts_equipes_ancien FROM ce_lqdj_pts GROUP BY lp_uid HAVING lp_date < MAX(lp_date) ORDER BY pts_equipes_ancien DESC";
Le souci, c'est que mon SUM(lp_pts) me donne tjrs la somme de tous les enregistrement et pas la somme de tous les enregistrements - le dernier en date.
Vous voyez une soluce ?