Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Jak wyciągnąć rekordy wedle daty i czasu, rekordy nadpisane w ciągu ostatnich 15 minut...
kosma
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 11.11.2007

Ostrzeżenie: (0%)
-----


Dodałem w bazie kolumnę z czasem zapisu aktywności użytkowników, w której to nie częściej niż co 15 minut nadpisuje się aktualna data w formacie Y-m-d h:m (2009-08-23 00:49) i teraz siedzę, dumam i szukam w jaki to sposób wyciągnąć z bazy id użytkowników aktywnych w ciągu ostatnich 15 minut?
A gdyby tak dało się tych aktywnych użytkowników wyciągnąć losowo to było by pięknie...
Proszę o podpowiedzi. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Co to timestamp zaczął robić problem? Od kiedy? Nie ma to jak linux epoch co?

  1. SELECT ... RANDOM() AS rand FROM ... ORDER BY rand LIMIT milion
, a z timestampem się mecz, nigdy nie używałem ;]
Go to the top of the page
+Quote Post
Chelo
post
Post #3





Grupa: Zarejestrowani
Postów: 178
Pomógł: 8
Dołączył: 19.03.2007

Ostrzeżenie: (0%)
-----


kurs mysql się kłania
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A co to za problem? Wyszukujesz z bazy wszystkich, których różnica między czasem obecnym i w bazie ma mniej niż 15 minut. A jesli jeszcze do tego przywalisz funkcje rand() i zrobisz LIMIT to tylu losowo spośród wyników wyciągniesz. Żaden problem (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kosma
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 11.11.2007

Ostrzeżenie: (0%)
-----


Tak to żaden problem, tyle że siedzę nad nim kilka godzin i lipa (IMG:style_emoticons/default/sad.gif)
Cytat
Wyszukujesz z bazy wszystkich, których różnica między czasem obecnym i w bazie ma mniej niż 15 minut

Jak skonstruować takie zapytanie?
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Tylko jedno słowo...
TIMESTAMPDIFF

EDIT: Jeśli masz MySQL poniżej 5, to dwa słowa:
EXTRACT i TIMEDIFF

Ten post edytował thek 23.08.2009, 02:13:51
Go to the top of the page
+Quote Post
kosma
post
Post #7





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 11.11.2007

Ostrzeżenie: (0%)
-----


Dzieki thek, jednak zniecierpliwiony i zastanowiwszy się nad podpowiedzią cojack'a zmieniłem format daty na unixowy znacznik czasu i po problemie.
Mam nadzieję, że nie będę tego żałował? (IMG:style_emoticons/default/rolleyes.gif)
Go to the top of the page
+Quote Post
cojack
post
Post #8





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Możliwe że będziesz żałował jak będziesz musiał co do sekundy wyciągać coś pomiędzy czymś a czymś. Ja czasami żałowałem (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
thek
post
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Każde rozwiązanie jest dobre, jeśli spełnia nasze założenia. To właśnie lubię w informatyce. Można zrobić jedną rzecz na wiele sposobów i tylko od nas zależy, który ostatecznie wybierzemy. Jakby co wiesz, że zawsze masz alternatywę i możesz spróbować innego. Możesz też sprawdzić oba na localhoście i wybrać wydajniejsze. Bo kto Ci zabroni? (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 1.01.2026 - 10:31