requete Mysql

WRInaute occasionnel
Salut

J'essaye de savoir si je peux simplifier 2 requetes :

1- Selectionner dans une table où les 3 derniers enregistrements ont la meme valeur. Pour le moment je fais une lecture de la ligne 0, ligne 1 et 2 puis je compare en php...

Code:
$y = mysql($base,"SELECT lettres FROM tirage ORDER BY depart");
$lettr1=$lettr2=".";
$lettres = mysql_result($y,0,"lettres");
if(mysql_num_rows($y)>2){
 $lettr2 = mysql_result($y,2,"lettres");
 if(mysql_num_rows($y)>1){$lettr1 = mysql_result($y,1,"lettres");}
}
if(($lettres==$lettr1)&&($lettres==$lettr2)){ // Suite



2- Faire la somme d'une colonne du 1er à l'avant dernier enregistrement.
La, je fais la somme SUM, je lis la dernier colonne et je soustrait.

Y a moyen de faire plus simple ?

Merci
 
WRInaute occasionnel
1- Déjà, si ta condition sur num_rows > 2 est vérifiée, a fortiori, elle l'est sur num_rows > 1.
Ensuite, tu peux aggreger et faire:
Code:
$y = mysql($base,"SELECT depart, lettres, count(*) as cnt FROM tirage GROUP BY lettres ORDER BY depart");
if (mysql_result($y,1,"cnt") > 2)
{ // Suite

2- Il existe "LIMIT", mais apparemment pas pour aller jusu'à n enregistrements avant la fin.
- Fais un select count(*) (stocke resultat dans $cnt);
- Puis un "select sum(blabla) from titi limit 0, ".$cnt-2
Mais ça fait toujours 2 requetes...
 
Discussions similaires
Haut