![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%)
|
Witam!
Mam pewien problem z napisaniem zapytania. Chodzi o to, aby zapytanie znajdywało w ciągu ostatnich 5 minut rekordy w których polu "wiadomosc" jest 10x taka sama wiadomość. Kolumny: kiedy (zawierają np: 2013-05-09 18:22:10) wiadomosc (zawierają wiadomości np: jestem pro) I właśnie tutaj pada pytanie, jak złożyć zapytanie które wszystkie osoby znajdzie które wysyłały po 10x taką samą wiadomość w ciągu 5 minut i wylistuje te wszystkie osoby po 1x a nie np. 10x (bo 10x wysyłał wiadomość). Nick użytkownika jest w kolumnie "wiadomosc" w takiej formie: "Kowalski : Jestem pro". Siedzę nad tym już kilka godzin i w żaden sposób nie wiem jak to ułożyć.. Proszę o pomoc. Pozdrawiam! |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 22 Dołączył: 6.07.2010 Ostrzeżenie: (0%)
|
Witam. Pokaż kod co zrobiłeś
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%)
|
Witam.
Trochę źle opisałem pewien element. Chodzi mi o to, aby zapytanie całą tabelkę przeszukało i znalazło rekordy które ktoś napisał w przeciągu (dajmy na to minuty). Czyli np: 19:58:01 19:58:09 19:58:17 19:58:19 19:58:22 19:58:29 19:58:39 19:58:45 19:58:52 19:58:58 Wtedy ktoś wysłał taką samą wiadomość - i zapytanie wykryje że w ciągu 1 minuty pisał tą samą wiadomość. Natomiast zaytanie od pana lobopol sprawdza w danym okresie czasu po prostu kto pisał wiadomości.
Zapytanie działa dobrze, z tą różnicą że chodzi mi o to jak ktoś napisał w ciągu minuty 10 takich samych wiadomości. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%)
|
no to grupuje w ciągu 1 minuty takie same wiadomości a powiedziałeś, że w wiadomości masz login więc powinno spełniać swoją role tylko 5 na końcu na 9 zmień
Ten post edytował lobopol 9.05.2013, 19:04:59 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%)
|
aha, przepraszam ale pierwszy raz widzę "HAVING" i zabardzo nie rozumiałem co znaczy.
W takim razie jest tylko jeden problem. DATE_SUB(CURDATE(),INTERVAL '1' MINUTE) <= kiedy Pokazuje wszystko w ciągu 1 DNIA, jak wpisze 1 DAY to pisze w ciągu 2 DNI, jak 1 SECOND to także w ciągu 1 dnia rekordy. Z tej funkcji dość często korzystałem używając ją do pokazywania dni (np. w ciągu 3 dni nieaktywni gracze w grze itd) - ale tutaj po prostu nie chce działać nie wiem czemu w tym zapytaniu... co może być problemem? |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%)
|
w jakim formacie trzymasz datę?
zmień curdate na NOW |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.07.2011 Ostrzeżenie: (0%)
|
Zadziałało.
Ale nie rozumiem teraz dlaczego inne skrypty w których używałem CURDATE mi działają, np:
A w tym skrypcie nie działa chodź pole w tabeli jest identyczne. Tak czy owak bardzo Ci dziękuję za pomoc, teraz zapytanie działa super, a o zmianie z CurDate na NOW chyba bym nie wpadł za tydzień (IMG:style_emoticons/default/tongue.gif) Pozdrawiam! |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 08:36 |