Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 1 Dołączył: 11.12.2010 Ostrzeżenie: (0%)
|
Witam, mam problem z zapytaniem.
W tabeli mam jedną kolumnę w formacie datetime. I chciałbym zliczyć wszystkie wpisy z powiedzmy dwóch ostatnich godzin. Nie mam pojęcia jak się za to zabrać. Może jakoś odjąć je.. ale to też mi nie działa. Prosiłbym o jakieś wskazówki albo przykładowy kod który bym sobie dostosował. Z góry dzięki za odp i pozdrawiam. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 1 Dołączył: 11.12.2010 Ostrzeżenie: (0%)
|
Nie dałoby się tego zrobić w samym sql, countem zliczyć rekordy i wyrzucić samą liczbę?
|
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
No to zrób counta. Ja podałem Ci tylko częśc zapytana WHERE
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 1 Dołączył: 11.12.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 1 Dołączył: 11.12.2010 Ostrzeżenie: (0%)
|
ok, wielkie dzięki. Działa.
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 1 Dołączył: 11.12.2010 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#11
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Ale nigdy nie skorzysta z indeksu tabeli nawet jeżeli istnieje + nie skorzysta z cache.
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%)
|
Sugerując się nazwą działu forum chodziło o zapytanie SQL.
Oczywiście trafnie zgadłeś że autor używa php, ale wciąż było to zgadywanie. Gdybyś miał dostęp tylko do klienta mysql jak byś to zrobił? |
|
|
|
Post
#13
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
Wpisałbym z palca.
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%)
|
Zapewne obliczając datę ręcznie by "skorzystał z indeksu"?
Tylko że klauzule WHERE są parsowane przed jakąkolwiek optymalizacją, a wyrażenie
ma ściśle określoną wartość zanim dojdzie do próby wyboru indeksu. Prawie nie różni się więc od gotowej daty dostarczonej przez php. Tzn różni się tylko tym, że wymagany jest dodatkowy język programowania. Przykładowa testowa baza danych:
Zobaczmy więc co nam powie explain:
Possible keys: kiedy Key: kiedy Zatem Ale nigdy nie skorzysta z indeksu tabeli nawet jeżeli istnieje + nie skorzysta z cache. jest zwykłym wprowadzaniem ludzi w błąd. |
|
|
|
Post
#15
|
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk |
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 20:26 |