Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Szukanie w połączonych wierszach
Saper82
post 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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 14:53