min(champ1 + champ2)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

25 mai 2005, 09:53

C'est toi thierry qui a demandé à quelcun d'expliquer le comportement de HAVING et je l'ai fait.
maintenant si quelqu'un peut m'expliquer le comportement du having sur ce coup là, je suis preneur.
La voiture à 4 roues dans SQL est si tu utilise Having il faut utiliser GROUP BY (sinon pas de GROUP BY) Et moi j'ai jamais parlé de Order By.

Maintenant pour ta requête :
select * from toto having num=min(num)
Comme tu l'as bien expliqué t'as raison d'utiliser le having mais désolé pas sans GROUP BY. Mais pour ajouter le group by il ne faut pas avoir un champs unique dans SELECT (sinon chaque num retourne un min())
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 287 Messages

25 mai 2005, 12:44

C'est toi thierry qui a demandé à quelcun d'expliquer le comportement de HAVING et je l'ai fait.
c'est sûr que vu comme ça :)
j'aurais dû préciser le "sur ce coup là".
Comme tu l'as bien expliqué t'as raison d'utiliser le having mais désolé pas sans GROUP BY. Mais pour ajouter le group by il ne faut pas avoir un champs unique dans SELECT (sinon chaque num retourne un min())
c'est vrai qu'apparament mysql n'aime pas trop qu'on utilise having sans group by.
ceci dit:
reste donc effectivement le group by, qui est inutile pour ce que je veut faire... et non pas toutes les valeurs du champs num.
maintenant j'imagine que si mysql autorise le having sans group by c'est bien pour en faire quelquechose.
et c'est précisément ce quelquechose que je ne vois pas.