Pomoc przy selekcie
anti2k@wp.pl - 26-07-2006 01:31
Pomoc przy selekcie
Witam, zwracam się z prośbą o pomoc w stworzeniu zapytania. Mam tabelkę o następującej budowie: NR DATA 100 2006-07-21 102 2006-07-21 100 2006-07-22 100 2006-07-25 102 2006-07-21 103 2006-07-21 102 2006-07-22 102 2006-07-25
Potrzebuję wyciągnąć z niej numer, min datę i max datę, coś takiego: NR MIN_DATA MAX_DATA 100 2006-07-21 2006-07-25 itd
Bazka to mysql. Z góry dzięki za pomoc.
Sławomir Szyszło - 26-07-2006 01:32
Dnia 25 Jul 2006 12:23:04 -0700, anti2k@wp.pl wklepał(-a):
>Witam, >zwracam się z prośbą o pomoc w stworzeniu zapytania. Mam tabelkę o >następującej budowie: >NR DATA >100 2006-07-21 >102 2006-07-21 >100 2006-07-22 >100 2006-07-25 >102 2006-07-21 >103 2006-07-21 >102 2006-07-22 >102 2006-07-25 > >Potrzebuję wyciągnąć z niej numer, min datę i max datę, coś >takiego: >NR MIN_DATA MAX_DATA >100 2006-07-21 2006-07-25 >itd
Pogrupuj po NR i wybierz min oraz max.
>Bazka to mysql. Z góry dzięki za pomoc.
Wpisuj to w temacie. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
Adam Płaszczyca - 27-07-2006 01:59
On Tue, 25 Jul 2006 21:39:00 +0200, Sławomir Szyszło <slaszysz@poczta.onet.pl> wrote:
>>NR DATA >>100 2006-07-21 >>102 2006-07-21 >>100 2006-07-22 >>100 2006-07-25 >>102 2006-07-21 >>103 2006-07-21 >>102 2006-07-22 >>102 2006-07-25 >> >>Potrzebuję wyciągnąć z niej numer, min datę i max datę, coś >>takiego: >>NR MIN_DATA MAX_DATA >>100 2006-07-21 2006-07-25 >>itd > >Pogrupuj po NR i wybierz min oraz max.
A potem te dwa podzapytania złącz ;)
Nie wiem jak w MySQL-u, w standardzie SQL-92 to by było tak:
Select A.NR, D_MIN, D_MAX from (select NR, MIN(DATA) as D_MIN from TABELA as A group by NR) join (select NR, MAX(DATA) as D_MAX from TABELA as B group by NR) on A.NR=B.NR -- ___________ (R) /_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688 ___/ /_ ___ ul. Ludwiki 1 m. 74, 01-226 Warszawa _______/ /_ http://trzypion.oldfield.org.pl/Lem/ ___________/ GG: 3524356
Grzegorz Danowski - 27-07-2006 01:59
Użytkownik "Adam Płaszczyca" <trzypion@oldfield-pulapka.org.pl> napisał w wiadomości news:b07ec299jbflclo293l0l7n89fpk03dpeu@4ax.com... > On Tue, 25 Jul 2006 21:39:00 +0200, Sławomir Szyszło > <slaszysz@poczta.onet.pl> wrote: > >>>NR DATA >>>100 2006-07-21 >>>102 2006-07-21 >>>100 2006-07-22 >>>100 2006-07-25 (...) >>>Potrzebuję wyciągnąć z niej numer, min datę i max datę, coś >>>takiego: >>>NR MIN_DATA MAX_DATA >>>100 2006-07-21 2006-07-25 >>>itd >> >>Pogrupuj po NR i wybierz min oraz max. > > > A potem te dwa podzapytania złącz ;) > > Nie wiem jak w MySQL-u, w standardzie SQL-92 to by było tak: > > Select A.NR, D_MIN, D_MAX from > (select NR, MIN(DATA) as D_MIN from TABELA as A group by NR) > join > (select NR, MAX(DATA) as D_MAX from TABELA as B group by NR) > on A.NR=B.NR
A nie można po prostu: Select Nr, Min(Data) As D_Min, Max(Data) As D_Max From Tabela Group By Nr
??? G.
Artur Gancarz - 06-08-2006 02:18
Użytkownik Grzegorz Danowski napisał:
>> >> Nie wiem jak w MySQL-u, w standardzie SQL-92 to by było tak: >> >> Select A.NR, D_MIN, D_MAX from >> (select NR, MIN(DATA) as D_MIN from TABELA as A group by NR) >> join >> (select NR, MAX(DATA) as D_MAX from TABELA as B group by NR) >> on A.NR=B.NR > Za długie... nie podoba mi się. W SQL przecież po to jest grupowanie, aby z grupy można było coś wyciągnąć.
> > A nie można po prostu: > Select > Nr, Min(Data) As D_Min, Max(Data) As D_Max > From > Tabela > Group By > Nr > > ??? > G.
Powyższe nawet sprawdziłem (w MySQL).. działa rewelacyjnie. Potwierdzam, że jest niezłe.
Artur
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Jak =?ISO-8859-2?Q?zamieni=E6_dwa_pola_jednej_kolumny_?==?ISO-8859-2?Q?w_dw=F3ch_rekordach_za_pomoc=B1_jednego_zapyt? ==?ISO-8859-2?Q?ania=3F?=
Import za =?ISO-8859-2?Q?pomoc=B1_EMS_Data_Import_for_?==?ISO-8859-2?Q?MySQL_-_polskie_litery=2E?=
=?iso-8859-2?q?Przentacja,_probelm=2E_Prosz=EA_o_pomoc=2E?=
=?iso-8859-2?q?Panie_i_Panowie-prosz=EA_o_pomoc_ze_skanerem=2E_ARCUS_II=2ECUDA?=
mysql+php - =?ISO-8859-2?Q?wydajno=B6=E6_przy_olbrzymiej_i?==?ISO-8859-2?Q?lo=B6ci_rekord=F3w?=
[pgsql] 7.4 =?ISO-8859-2?Q?og=B3upia=B3_przy_zak=B3adaniu_?==?ISO-8859-2?Q?indeksu?=
[MySQL] Czy =?ISO-8859-2?Q?m=F3g=B3by_mi_kto=B6_pom=F3c_?==?ISO-8859-2?Q?przy_tym_zapytaniu_=3F?=
=?iso-8859-2?q?[apache]_restart_za_pomoc=B1_cron'a_i_too_many_open_files? =
btrieve 6.15; geo-info2000; mala wydajnosc sieci - prosba o pomoc
[MSSQL] Wykonanie DTS za =?ISO-8859-2?Q?pomoc=B1_triggera?=
zanotowane.pldoc.pisz.plpdf.pisz.plred-hacjenda.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 |
|