![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem - musze posortowac wyniki wedglug ilosci wystapien danego ciagu...
O ile dobrze pamietam bylo to juz prezentowane na forum lecz nie potrafilem sie tego doszukac - bede wdzieczny za link/odpowiedz. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
select * from $table where $pole=$warunek order by $pole_z_bazy desc lub asc
to kwerenda wyciaga z tabeli dane gdzie wartosc pola $pole jest rowna $warunkowi i sortuje wedlug jakiegos pola innego np.: id a desc/asc sluzy do okreslenia sposobu sortowania - rosnaco lub malejaco Kossa |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Znowu bez przesady - to jest wzor typu echo 'Hello world!'; !!
Chce posortowac wedlug wyniki wedlug LICZBY wystapien danego ciagu w danej komorce. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Chyba chodzi Ci o ten link: http://dev.mysql.com/doc/mysql/en/Counting_rows.html
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Nie, jemu zapewne chodzi o odpowiednik substr_count() w MySQL'u. Niestety ja nie znam
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Nie ma takiej funkcji, ale mozna zrobic pare roszad i otrzymac odpowiedni wynik
![]() [sql:1:668894b48f]SELECT text, LENGTH(text) - LENGTH(REPLACE(text, '$search', SUBSTRING('$search',2))) substr_count FROM tabela ORDER BY substr_count DESC[/sql:1:668894b48f] -------------------- Brak czasu :/
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem co napisalem ale dziala bardzo dobrze
![]() A myslalem, ze znam SQL... ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Wolalbym jednak, zebys wiedzial, wiec postaram sie wytlumaczyc.
Po kolei: 1) REPLACE(text, '$search', SUBSTRING('$search',2) zamieniamy kazde wystapienie szukanego ciagu na dowolny ciag, ktory jest o jeden znak krotszy od szukanego (dlaczego? ano dlatego, ze na kazdym znalezionym wyrazie skracamy caly ciag o jedna litere), ja akurat wybralem substringa (ucinam od drugiego znaku do konca, czyli wynik jest o 1 krotszy niz orginalny wyraz), bo to mi pierwsze wpadlo na mysl i jest chyba jedna z szybszych alternatyw (mozna tez np. REPEAT('*', LENGTH($search)) ale to dluzsze i chyba mniej zrozumiale na pierwszy rzut oka - nie wiem jak z szybkoscia) 2) LENGTH(text) - LENGTH(REPLACE(text, '$search', SUBSTRING('$search',2))) mierzymy ilosc liter w orginalnym tekscie, potem ilosc liter w tekscie z wyzej opisana podmiana odejmujemy to od siebie i jest wynik ![]() Dlaczego? to juz pisalem wczesniej, kazde wystapienie szukanego ciagu "zbiera" jedna literke, wiec ilosc zabranych literek jest rowna ilosci wystapien danego ciagu, jasne? ![]() -------------------- Brak czasu :/
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jak najbardziej - to mi tylko uswiadomilo jak skromna jest moja wiedza na temat SQL (bo sam pomysl jest prosty i cwany swoja droga
![]() Cieszy mnie fakt, ze wszystko jest tak odrazu w wyniku - juz moge pozbyc sie obliczen na tablicach ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak najbardziej - to mi tylko uswiadomilo jak skromna jest moja wiedza na temat SQL (bo sam pomysl jest prosty i cwany swoja droga
![]() No wlasnie, sam pomysl jest trywialny ![]() ![]() -------------------- Brak czasu :/
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
problem miał chybva speniu i jego wyszukiwarka.
a swoją drogą - nie moge pojąć 1 prostej rzeczy - dlaczego MySQL nie ma tak trywialnej funkcji jak zliczanie wystąpień 'cukru w cukrze' ![]() -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 1 Dołączył: 15.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat nie moge pojąć 1 prostej rzeczy - dlaczego MySQL nie ma tak trywialnej funkcji jak zliczanie wystąpień 'cukru w cukrze'
![]() A dlatego, zebysmy mogli sobie pokombinowac ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:35 |