Autor | Zpráva | ||
---|---|---|---|
slon_cz Profil |
#1 · Zasláno: 22. 3. 2019, 18:17:23
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 |
#2 · Zasláno: 22. 3. 2019, 18:57:07
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 |
#4 · Zasláno: 22. 3. 2019, 19:29:04
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 |
#5 · Zasláno: 22. 3. 2019, 20:13:09
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 |
#6 · Zasláno: 22. 3. 2019, 21:52:57
Je možné, že funkce replace v mysql vyžaduje i třetí parametr. Zkuste
trim(lower(replace(nick,'*',''))) |
||
slon_cz Profil |
#7 · Zasláno: 22. 3. 2019, 21:54:57
Ano, tam byl problém, děkuji moc! Již funguje.
|
||
Časová prodleva: 6 let
|
0