Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] zliczanie znaków w rekordzie
Forum PHP.pl > Forum > Bazy danych > MySQL
nowyyy31
Nie mogę znaleźć funkcji podobnej do
.

Chcę policzyć wystąpienia w rekordzie na przykład literki 'a' i posortować według ilości.
trueblue
SELECT LENGTH('badanie')-LENGTH(REPLACE('badanie','a',''))
mmmmmmm
Dwie takie same odpowiedzi....
I obie błędne smile.gif
Jedyna prawidłowa to:
SELECT (LENGTH(wyraz)-LENGTH(REPLACE(wyraz, szukana_litera, '')))/ LENGTH(szukana_litera) FROM tabela

Przykład:
select wyraz, szukana_litera, length(wyraz)-length(replace(wyraz, szukana_litera, '')) zle, (length(wyraz)-length(replace(wyraz, szukana_litera, '')))/length(szukana_litera) dborze FROM (SELECT 'badania' wyraz, 'a' szukana_litera UNION SELECT 'PŁYWAK W ŁODZI', 'Ł') tabela
nospor
@mmmmmmm
tekst z mojej odpowiedzi:
Cytat
w przypadku gdy naszym znakiem był ciąg znaków - dzielimy jeszcze otrzymaną różnicę przez liczbę znaków, której szukaliśmy

tongue.gif
Może nie dopowiedziałem, że np. polskie znaczki to zazwyczaj wiecej niz jeden znak, ale to sie rozumie samo przez sie wink.gif
trueblue
SELECT CHAR_LENGTH('PŁYWAK W ŁODZI')-CHAR_LENGTH(REPLACE('PŁYWAK W ŁODZI','Ł',''))
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.