Autor Zpráva
pe3k
Profil *
Zdravim,
neviem si dat rady, ako vytiahnut pocet riadkov z tabulky podla zadanej podmienky a to:

tabulka ma id, parentid, poradie ....

potrebujem zistit pocet zaznamov, ktorych PORADIE je null, alebo PORADIE='' alebo rovnake PORADIE sa nachadza vo viacerych zaznamov na urovni toho isteho levelu (parentid)

neviem dotaz ako zapisat:

select count(*) from tabulka where parentid='$parent' and (PORADIE is null or PORADIE='' or ... ???poradie==poradie ????...)


a druha vseobecna otazka: je dolezite poradie podmienok vo where ? teda ci ma poradie podmienok nejaky zatazovy alebo casovy vyznam v dotazoch ?
Kajman_
Profil *
select count(*) - (select count(*)
                   from   (select parentid
                           from   tabulka
                           where  nullif(poradie, '') is not null
                           group  by parentid, poradie
                           having count(*) = 1
                          ) t
                  ) pocet
from   tabulka


Zkuste si to přehodit, ale explain bude asi stejný pro všechny možné variace pořadí ve where.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: