Autor Zpráva
slon_cz
Profil
Dobrý den, mám sql příkaz

SELECT nick,
SUM(castka) as TOTAL_COSTS
FROM tabulka WHERE nick<>
GROUP BY nick
ORDER BY TOTAL_COSTS DESC LIMIT 25

což funguje dobře, ovšem je problém, že tento příkaz mi nedokáže sečíst dohromady třeba
nick = "test ";
nick = "test*";
nick = "Test "
respektive jestli je mozne, aby se nejdrive ve vyhledavani odstranit znak hvezdicky, prevedlo vse na mala pismenka, odstranilo mezery a pote teprve secetlo podle dane shody. Je to vubec mozne? Nedari se mi najit reseni ani pomoci google :/
Kajman
Profil
group by lower(replace(nick,'*'))
slon_cz
Profil
Děkuji, bohužel to mi vrátí chybu

Syntax error near 'GROUP BY lower(replace(nick,'*')) ORDER BY TOTAL_COSTS DESC LIMIT 25' at line 4
SELECT nick,
SUM(castka) as TOTAL_COSTS
FROM tabulka WHERE nick<>
GROUP BY lower(replace(nick,'*'))
ORDER BY TOTAL_COSTS DESC LIMIT 25
Kajman
Profil
Ta podmínka ve where je špatně. Nemohlo to fungovat ani předtím. Navíc v select části musíte nick upravovat stejně.
slon_cz
Profil
SELECT lower(replace(nick,'*')),
SUM(castka) as TOTAL_COSTS
FROM tabulka WHERE nick<>''
GROUP BY lower(replace(nick,'*'))
ORDER BY TOTAL_COSTS DESC LIMIT 25

Te%d by to mělo být správně (?), ovšem stále chyba :/ achjo
Kajman
Profil
Je možné, že funkce replace v mysql vyžaduje i třetí parametr. Zkuste
trim(lower(replace(nick,'*','')))
Případně vypište hlášku.
slon_cz
Profil
Ano, tam byl problém, děkuji moc! Již funguje.

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:

0