![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 6.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele o takim schemacie:
id, nazwa, data 1, blablabla, 2012-04-12 18:26:33 2, blablabla, 2012-04-12 18:27:56 itd. Chciałbym pobrać wszystkie rekordy z danego dnia (załóżmy z 12 kwietnia) i posortować je w sposób malejący (w zależności od ilości wystąpień). Chodzi o to, że nazwy (wyszukiwane frazy) się powtarzają i w danym dniu może być wiele wyszukiwań na taką samą frazę. Jak w takim razie posortować te dane tak, żeby identyczne rekordy się zsumowały, czyli na przykładzie mamy 2 razy blablabla -> powinno zostać to zamienione na 1 rekord o nazwie blablabla i liczniku 2 (bo 2 takie same rekordy). Oczywiście wszystko zapisywane w osobnej tabeli. Czy jest jakaś funkcja która segreguje identyczne dane w zbiorze w w/w sposób ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 6.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam osobną tabele w której fraza jeśli już kiedyś była wyszukiwana to nie dodaje nowego rekordu,
tylko aktualizuje poprzedni (chociaż w bardziej prymitywny sposób niż podałeś, bo 1 zapytanie sprawdza czy jest taki rekord a następne ewentualnie go aktualizuje, czyli zwiększa jego licznik), jednak to nie nadaje się do robienia dziennych statystyk bo data, to zawsze data 1 wyszukiwania danej frazy, więc nie zrobię listy szukanych w danym dniu. Muszę więc to zrobić inaczej. Znam GROUP BY i COUNT ale jak to wykorzystać do pogrupowania fraz ? /EDIT/ Na myśli przychodzi mi tylko jeden sposób. Pobieranie wszystkich możliwych rekordów sprawdzanie ich po kolei, czyli wyglądało by to mniej więcej tak: - bierzemy 1 rekord i porównujemy ze wszystkimi pozostałymi, jeśli są powtórzenia to zliczamy ich liczbę i wstawiamy do kolumny 'licznik' dla 1 rekordu a powtórzenia kasujemy, następnie bierzemy 2 rekord i znowu go porównujemy zliczając liczbę wystąpień identycznych wpisów itd... Ale to wykombinowałem tak na "chłopski rozum". Naprawdę nie ma funkcji lub prostszego sposobu na posortowanie wyników w ten sposób ? Ten post edytował Greg23 13.04.2012, 11:41:10 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 02:09 |