![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 14.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kawałek kodu:
Dzięki niemu obliczam wyniki klasyfikacji z jednego roku. Teraz chce zrobić to samo, ale z 2 lat, więc wychodzi mi kod:
Muszę też policzyć dla 3 lat i 5 lat i robi się niezły bigos. Czy można skrócić ten kod? myślałem o czymś takim:
Oczywiście to tylko moja koncepcja. Czy kombinuje we właściwym kierunku? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat `data` LIKE "2008%" czy pole data to u Ciebie pole tekstowe (varchar, char)? Jak tak to szybko popraw na pole datowe: DATE lub DATETIME A jak juz poprawisz to uzywaj funkcji które są przeznaczone dla dat http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html i od razu będzie lepiej i krócej -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 29 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zapoznaj się z :
Ten post edytował tvister 3.12.2009, 11:32:44 -------------------- Kto rano wstaje ten leje jak z cebra.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 14.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Doskonale zdaję sobie sprawę, że pole powinno być w postaci DATE, jednak nie wiedziałem o tym kiedy zaczynałem robić stronę.
Teraz mam taki format daty, który w żaden sposób nie idzie przerobić (2009-12-03, Poznań), a w bazie danych mam prawie 15000 rekordów, więc zmiana daty "z ręki" nie wchodzi w grę. Niemniej jednak IN pomogło na tyle, że napisałem kod, który funkcjonuje:
Tutaj też kłania się mój błąd, o którym pisze wyżej, gdyż muszę używać "LIKE" przy dacie, zamiast zastosować jakieś prostsze rozwiązanie. Niemniej jednak, czy idzie w jakiś sposób połączyć IN i LIKE , żeby kod nie musiał wyglądać tak:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 29 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na mój chłopski rozum to :
-------------------- Kto rano wstaje ten leje jak z cebra.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jak pisał Nospor, data powinna być typem daty, a nie ciągu tekstowego, wyszukiwanie po takim korzystając z like jest powolne.
Bardziej w ten deseń:
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:39 |