=?iso-8859-2?q?Grupowanie_-_naj=B6wie=BFsze_stany_z_czujnik=F3w?=
hawi_81@o2.pl - 21-06-2006 00:10
=?iso-8859-2?q?Grupowanie_-_naj=B6wie=BFsze_stany_z_czujnik=F3w?=
Pracuje na MySQL'u 5.0.18 Potrzebuje stworzyć widok który zawierałby najświeższe rekordy ze stanami każdego z czujników (ID_CzujnikPIR) z tabeli pomiarowej. Definicja tabeli wygląda następująco: CREATE TABLE T_PomiaryPIR ( ID_Pomiar int(8) unsigned not null auto_increment primary key, ID_CzujnikPIR int(4) unsigned not null, Czas timestamp not null default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, Wartosc BOOL default '0' NOT NULL, KEY T_PomiaryPIR_CzujnikPIR_FKEY(ID_CzujnikPIR) );
zapytanie które realizuje żadane zadanie wygląda tak:
SELECT * FROM ( SELECT * FROM T_PomiaryPIR ORDER BY T_PomiaryPIR.Czas DESC ) t1 GROUP BY t1.ID_CzujnikPIR
Jednakże tego zapytania nie mogę zapisać jako widok ponieważ posiada select'a w klauzuli FROM (ograniczenie MySQL'a). Jak można inaczej zdefiniować to zapytanie ? Prosze o pomoc. Dodam tylko, że zapytanie :
SELECT * FROM T_PomiaryPIR GROUP BY T_PomiaryPIR.ID_CzujnikPIR ORDER BY T_PomiaryPIR.Czas DESC
nie działa oczywiście w żądany sposób.
Bardzo będe wdzieczny za jakiekolwiek sugestię.
Rafalsxat - 21-06-2006 00:11
=?iso-8859-2?Q?Re:_Grupowanie_-_naj=B6wie=BFsze_stany_z_czujnik=F3w?=
> SELECT * FROM > ( > SELECT * FROM T_PomiaryPIR ORDER BY T_PomiaryPIR.Czas DESC > ) t1 > GROUP BY t1.ID_CzujnikPIR > > Jednakże tego zapytania nie mogę zapisać jako widok ponieważ > posiada select'a w klauzuli FROM (ograniczenie MySQL'a). Jak można
o to chodzi CREATE VIEW widok AS ( SELECT * FROM ( SELECT * FROM T_PomiaryPIR ORDER BY T_PomiaryPIR.Czas DESC ) AS t1 GROUP BY t1.ID_CzujnikPIR)
pozdr raf
-- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
hawi_81@o2.pl - 21-06-2006 00:11
=?iso-8859-2?q?Re:_Grupowanie_-_naj=B6wie=BFsze_stany_z_czujnik=F3w?=
aaaa Rafalsxat napisał(a): > > SELECT * FROM > > ( > > SELECT * FROM T_PomiaryPIR ORDER BY T_PomiaryPIR.Czas DESC > > ) t1 > > GROUP BY t1.ID_CzujnikPIR > > > > Jednakże tego zapytania nie mogę zapisać jako widok ponieważ > > posiada select'a w klauzuli FROM (ograniczenie MySQL'a). Jak można > > o to chodzi > CREATE VIEW widok AS ( > SELECT * > FROM ( > SELECT * > FROM T_PomiaryPIR > ORDER BY T_PomiaryPIR.Czas DESC > ) AS t1 > GROUP BY t1.ID_CzujnikPIR) > > pozdr > raf > > -- > Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
Może nie wyraziłem się wyraźnie, ale rzecz nie dotyczy samej składni instrukcji CREATE VIEW...., lecz faktu że MySQL nie pozwala na to by po klauzuli FROM wystąpił select.MySQL nie pozwala stworzyć widoku jak napisaleś. Próba stworzenia widoku kończy się błędem: (HY000): View's SELECT contains a subquery in the FROM clause) Jest to jedno z ograniczeń MySQL opisane na ich stronie.
Szukam po prostu innego sposobu na stworzenie zapytania realizującego żądaną przeze mnie operację lecz nie zawierająceko w klauzuli FROM select'a
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?=
=?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?=
=?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?=
=?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
zanotowane.pldoc.pisz.plpdf.pisz.ploefg.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 |
|