![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
Mam pole KEYWORDS zawierające słowa kluczowe oddzielone przecinkiem.
Wybrane słowa oczywiście mogą się powtarzać pomiedzy rekordami. I teraz mój problem polega na tym, że muszę zliczyć liczbę wystąpień dla wszystkich słów kluczowych. przykład rekordy: slowo1, slowo2, slowo 3, slowo4 slowo4, slowo5, slowo6 slowo3, slowo4, slowo5, slowo9 slowo1, slowo5, slowo6 ... wynik: slowo1 -2x slowo2 -1x slowo3 -2x slowo4 -3x slowo5 -3x slowo6 -2x slowo9 -1x ... Jakl coś takiego zrobić? -------------------- neverever
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 12.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
zerknij na mój post - Temat: COUNT sortowanie wynikow - ja stosuje do moje tabeli zapytanie
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam pole KEYWORDS zawierające słowa kluczowe oddzielone przecinkiem. Wybrane słowa oczywiście mogą się powtarzać pomiedzy rekordami. Albo możesz to obejść obrzydliwymi hackami w zapytaniu, albo przerobić tabele na znormalizowaną. Znormalizowaną czyli: - dodatkowa tabela z polami (id_keyword, keyword) gdzie trzymasz pojedyncze wpisy dla każdego słowa - zamiast pola keywords w oryginalnej tabeli np. id_keyword_set - dodatkowa tabela z polami (id_keyword_set, id_keyword), która je połączy Czyli normalna normalizacja relacji wiele do wielu. Potem już robisz standardowy count() ... group by - powinno być łatwo. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie za bardzo możesz prerobić, tabele,
to możesz stworzyć widok, w którym każde słowo jest oddzielne, do stworzenia widoku używasz fukcji extract o ile istnieje lub jakiegoś jej odpowiednika |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:49 |