Autor | Zpráva | ||
---|---|---|---|
Návštěvník Profil * |
Co znamená tato chyba, respektive jak vyřešit požadavek, když chci vrátit počet záznamů a k tomu hodnotu ze sloupce status protože očekávám pouze jeden záznam nebo žádný záznam? Dá se to?
Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause IF(MyID() > 0 || ($fromid !== null && MyID() >= 0)) $count = $Results->SQL("SELECT count(*) as total, status FROM ".MT::POSTSTATS." WHERE source_user = '".MyID()."' AND target_user = '".$toID."'"); print_r($count); Moderátor Joker: Titulek „Chybová hláška“ nevystihoval podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
Joker Profil |
#2 · Zasláno: 31. 1. 2014, 14:03:07
Návštěvník:
Přesně jak říká ta chybová hláška: Nelze míchat seskupené a neseskupené sloupce. Takhle to udělat nejde, nicméně pokud „očekávám pouze jeden záznam nebo žádný záznam“, je to stejně úplně zbytečné. Když to nic nevrátí, je žádný záznam, když to vrátí jeden záznam, je jeden záznam. |
||
Kajman Profil |
#3 · Zasláno: 31. 1. 2014, 14:39:29
Návštěvník:
Status lze také obalit agregační funkcí, např. min(), max(). Případně dát status do group by klauzule a testovat i počet vrácených řádků. |
||
Návštěvník Profil * |
#4 · Zasláno: 31. 1. 2014, 18:16:09
Joker:
Díky za info, už chápu. |
||
Časová prodleva: 9 let
|
0