![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 306 Pomógł: 32 Dołączył: 20.01.2008 Ostrzeżenie: (20%) ![]() ![]() |
Chciałbym stworzyć sobie bardzo prosty system statystyk, miałby się on składać z pól:
ID, miesiac, rok, liczby I teraz chciałbym zrobić w JEDNYM zapytaniu mniej więcej takie dodawanie: Jeśli istnieje wpis, w którym pole miesiac i rok są dokładnie takie jak dzisiejsza data, to aktualizuje ten rekord i do pola liczby dodaje wartość 1, ale gdy nie istnieje takie wpis, dodaje nowy i ustawia pole liczby na 1. Próbowałem z ON DUPLICATE, ale nawet nie miałem pomysłu jak z tym zacząć (gdyby pola miesiac i rok byłyby unikalne, to nie działałoby to jak powinno). Czy istnieje sposób, żeby złączyć to w jedno zapytanie, czy muszę bawić się w 2 zapytania? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobic selecta i instrukcja warunkowa IF i podzapytanie.
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ale on duplicate zadziała. Tylko trzeba ustawić indeks UNIQUE na będący połączeniem miesiąca i roku. Bo tylko dla PRIMARY i UNIQUE jest sprawdzane czy robić update czy insert. Najlepiej więc nie przechowuj tych pól osobno, ale jako 6(YYYYMM) lub 7-znakowy (YYYY-MM) char i walnij mu przy tym UNIQUE a zadzierga. Nie utrudniaj sobie nic (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 11:12 |