[MySQL]Szukanie w połączonych wierszach |
[MySQL]Szukanie w połączonych wierszach |
11.04.2019, 16:23:05
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 11.07.2009 Ostrzeżenie: (0%) |
Przepraszam za tytuł tematu, nie bardzo wiem jak nazwać swój problem.
Mam powiedzmy tabele, a w niej id,tekst 1, Ala ma kota 2, raz dwa trzy 3, alfa beta gama 4, Ula ma kota 5, Ala raz dwa (Mam jeszcze dwie tabele wordlist i wordmatch na potrzeby wyszukiwarki) Teraz chce w wyszukiwarkę wpisać "Ala raz", i chce by w wynikach były wiersze które zawierają "Ala Raz" (wiersz 5), i wiersze które są koło siebie i zawierają razem te słowa (wiersze 1 i 2). W wynikach wiersz 2 i 5 nie może być, ponieważ nie są koło siebie. Myślałem nad stworzeniem drugiej tabeli wordmatch, wtedy były by w niej sąsiadujące wiersze połączone,,,, były by w niej ID słów: 1, Ala ma kota raz dwa trzy 2, raz dwa trzy alfa beta gama ...itd niby super, , ale chcę też dodać szukanie np. w trzech sąsiadujących wierszach, czterech,, np. do 5 maks wierszy.,,, takie rozwiązanie nie wydaje mi się optymalne, szkoda miejsca na tabele, które zajmą masę miejsca. Doszedłem w trakcie pisania tego posta do tego, że pewnie trzeba będzie użyć GROUP_CONCAT(tekst), teraz tylko żeby pogrupowało wiersze by były wyświetlone,,, 1,2 2,3 3,4 4,5 ... itd pasowało by dodać coś w stylu GROUP BY id IN (id,id+1),,, ale czy jest coś tym stylu w MySQL? ---------------- edit dobra, coś wykombinowałem SELECT *, (id DIV 2) AS wynik,GROUP_CONCAT(word) AS slowa FROM `wordlist` GROUP BY wynik łączy wiersze sąsiadujące (po za pierwszym, ale to kwestia poprawienia id DIV 2) i chyba o to chodziło ,, Ten post edytował Saper82 11.04.2019, 17:41:18 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 14:53 |