Select z poprzedniego tygodnia
Adam D - 06-02-2006 08:32
Select z poprzedniego tygodnia
Witam! Wiem, ze moge to wyszukac w manualu wiec mozecie mnie okrzyczec :) Ale prosze napiszcie mi - bedzie to znacznie szybciej.
pole f_datautworzenia, typ DATETIME
jak zrobic WHERE w selekcie zeby wybral mi rekordy z poprzedniego tygodnia od poniedzialku do niedzieli włącznie.
z gory bardzo badzo dziekuje adam
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
trojacek.NOSPAM@wp.pl - 06-02-2006 08:32
On Sun, 5 Feb 2006 09:27:20 +0000 (UTC), "Adam D" <axeld@WYTNIJ.gazeta.pl> wrote:
>Witam! >Wiem, ze moge to wyszukac w manualu wiec mozecie mnie okrzyczec :) >Ale prosze napiszcie mi - bedzie to znacznie szybciej. > >pole f_datautworzenia, typ DATETIME > >jak zrobic WHERE w selekcie zeby wybral mi rekordy z poprzedniego tygodnia >od poniedzialku do niedzieli włącznie.
Bedzie znacznie szybciej, jak uzupelnisz tabele o kolumne tod tytulem numer tygodnia :) Ale to ma sens tylko wtedy, jezeli jest duzo kwerend o rekordy z zeszlego tygodnia. Jesli to nie wchodzi w gre - proponuje najpierw wyliczyc (PHP?) daty ostatniej niedzieli do poprzedzajacego ja poniedzialku i wstawic je do query jako WHERE f_datautworzenia >= data_poniedzialku AND f_datautworzenia <= data_niedzieli :)) Jesli wszystkie wyliczenia musza byc w kwerendzie - to zalezy od typu i wersji bazy :)
-- Jacek Trojański, trojacek(at)wp(dot)pl
Adam D - 06-02-2006 08:32
Adam D <axeld@WYTNIJ.gazeta.pl> napisał(a):
> jak zrobic WHERE w selekcie zeby wybral mi rekordy z poprzedniego tygodnia > od poniedzialku do niedzieli włącznie.
Myslalem, ze jest do tego jakas funkcja, ale chyba nie ma. Zrobilem to sam, ale funkcja jest dosyc toporna, ale moze sie komus przydac:
$dzisiajdzien=date("D"); if ($dzisiajdzien=='Mon') $odejmij=7; if ($dzisiajdzien=='Tue') $odejmij=8; if ($dzisiajdzien=='Wed') $odejmij=9; if ($dzisiajdzien=='Thu') $odejmij=10; if ($dzisiajdzien=='Fri') $odejmij=11; if ($dzisiajdzien=='Sat') $odejmij=12; if ($dzisiajdzien=='Sun') $odejmij=13; $query = "select current_date() - interval " . $odejmij . " day as aaa "; $result=mysql_query($query, $polaczenie); $data1=mysql_result($result,0,"aaa"); $query = "select '" . $data1 . "' + interval 6 day as aaa "; $result=mysql_query($query, $polaczenie); $data2=mysql_result($result,0,"aaa");
pozdrawiam adam
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Pawel Kuniec - 07-02-2006 10:13
panowie!!! bez jaj! po to sa funkcje wbudowane w bazy danych aby z nich kozystac!!!
angazowanie PHP czy innego jezyka do obiczenia tego co moze zostac wykonane na poziome samej bazt jest conajmniej nie profesionalne :P
polecam lekture mysql dla ulatwienia dodam ze fukcja to INTERVAL :)
a nic tak nie zostaje w glowie jak wiedza zdobyta osobiscie :)
pozdrawiam Pawel
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
=?ISO-8859-2?Q?Miko=B3aj_Rydzewski?= - 07-02-2006 10:13
Adam D wrote:
> Myslalem, ze jest do tego jakas funkcja, ale chyba nie ma. Zrobilem to sam, > ale funkcja jest dosyc toporna, ale moze sie komus przydac: > > $dzisiajdzien=date("D"); > if ($dzisiajdzien=='Mon') $odejmij=7; > if ($dzisiajdzien=='Tue') $odejmij=8; > if ($dzisiajdzien=='Wed') $odejmij=9; > if ($dzisiajdzien=='Thu') $odejmij=10; > if ($dzisiajdzien=='Fri') $odejmij=11; > if ($dzisiajdzien=='Sat') $odejmij=12; > if ($dzisiajdzien=='Sun') $odejmij=13;
Pomijajac fakt, ze to samo moze za nas policzyc baza, to twoj przyklad rozjedzie sie gdy serwer bedzie mial locale inne niz angielskie.
-- Mikolaj Rydzewski <miki@ceti.pl> http://ceti.pl/~miki/ PGP KeyID: 8b12ab02 There are three kinds of people: men, women and unix.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[help] Illustrator CS - =?ISO-8859-2?Q?znikn=B1=B3_Selection_?==?ISO-8859-2?Q?Tool_=28V=29?=
[mysql 4.0] SELECT t1.id, t1.foo FROM t1 oraz COUNT t2 w jednym zapytaniu.
SELECT MAX(nazwaPola) FROM tabela WHERE .... i ORA-01405: pobran? warto?ci? kolumny jest NULL
=?iso-8859-2?q?select_sum_i_dwie_tabele..._b=B3=EAdna_agregac ja?=
=?iso-8859-2?Q?=5BMySql=5D_-_select_po_5_rekordow_mniejssych_i_wi=EAkszych?=
=?iso-8859-2?Q?=5BMySql=5D_Select_wed=B3ug_nazwy_pola?=
=?ISO-8859-2?Q?[mysql]_Nie_potrafi=EA_zgrupowa=E6_selecta_(proste)?=
=?ISO-8859-2?Q?[MS_SQL]_update_wielu_p=F3l_na_raz_z_selecta?=
Wstawianie nowego wiersza w przypadku jego braku podczas SELECT w PostgreSQL
[pgsql] jak =?ISO-8859-2?Q?zrobi=E6_taki_select_=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plchinska-zupka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|