![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 22.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki problem:
Mam tabele w bazie danych zawierajaca kolumne typu datetime - co chcialbym z tym zrobic: Chcialbym uzyskac pierwszy rekord w tabeli, dla ktorego data jest wieksza od obecnej (mowiac prosciej, chcialbym pobrac rekord dotyczacy najblizszego wydarzenia, ktore bedzie mialo miejsce). Nie mam pojecia z jakiej funkcji uzyskac obecny czas by mozna bylo porownac te daty, na chwile obecna mam: date - kolumna typu datetime. Odziwo sprawdza sie to w przypadku gdy zmieniam znak nierownosci, natomiast nie dziala to w takim przypadku (czyli de facto nie dziala) Zastanawiam sie wiec w jaki sposob moge dokonac takiego porownania by osiagnac oczekiwany rezultat. Z góry dziekuje. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 22.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Hmm, no to faktycznie, nie miałem pojęcia, że AND ma pierwszenstwo przed OR, dodalem teraz nawias i wszystko dziala tak jak powinno, wielkie dzieki.
Moglbys moze jeszcze mi powiedziec jaka wartosc zwraca zapytanie "SELECT COUNT(*)..."? Chcialbym uzyskac ilosc rekordow spelniajacych dane warunki, zeby potem wyliczyc sobie offset - teraz chcialbym wyswietlic kilka poprzednich zdarzen, kolejne i pare nastepnych, co za tym idzie:
Chce zliczyc ilosc rekordow, ktore 'mialy' juz miejsce i wybrac z nich 3 ostatnie do syswietlenia (wedlug daty 3 ostatnie) Czyli majac 20.01.2011 19.01.2011 24.01.2011 18.01.2011 16.01.2011 21.01.2011 Musze wyswietlic nastepujace rekordy w odpowiedniej kolejnosci: 19.01.2011 20.01.2011 21.01.2011 Dlatego chce wyliczyc offset (ogolna ilosc rekordow spelniajacych warunek - 3) i wtedy wyciagnac z bazy te 3 rekordy ostatnie spelniajace warunek. Nie wiem czy dobrze mysle, moze da sie to zrobic w inny sposob? Problem polega na tym, ze nie wiem jak wydobyc liczbe rekordow z tego zapytania, odziwo nigdy z niego nie korzystalem i sprawia mi trudnosci, nigdzie nie moge znalezc odpowiedzi. BTW. ciezko bedzie podac strukture bazy, bo narazie to sa 2 id i data, danych tez za duzo do testowania nie mam, tylko kilka rekordow rozniacych sie od siebie data. @EDIT Wartosc SELECT COUNT(*) juz uzyskalem, moj blad. Zastanawiam sie jednak czy nie mozna tego zrobic w inny sposob (tego co opisalem) @EDIT2 Jeszcze jedno pytanko, odbiegajace juz troche od tematu - czy mozna w jednej bazie zastosowac oba typy tabel (MyISAM i InnoDB)(IMG:style_emoticons/default/questionmark.gif) Pytam, ponieważ w bazie mam tabele, z ktorych bede de facto tylko odczytywal wartosci (cos jak katalog), ale mam tez takie, ktore beda czesto modyfikowane (przewaznie UPDATE). Ten post edytował Zikerus 23.01.2011, 13:26:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 22:52 |