MySQL - opcja group by ...
kijan - 11-11-2005 11:38
MySQL - opcja group by ...
Witam, mam pewien problem.
Moja tabela wyglada tak: id id_adres_www data wejscie odswiezenie
data jest podawana w formie czasu UNIX
Chciałbym zwrócić poprzez SELECT informacje o sumie wejsc i odswiezen te kolumny prztyjmuja wartość NULL badz 1. Wszystko było by proste gdybym nie "musial" zwrocic tych danych na zasadzie tygodniwych informacji. Oczywiscie moglbym wysylac select z tygodniowym przedzialem czasu i obliaczania tych informacji, jednak chcialbym to wykonac jednym zaptyaniem, no i zastanawiam sie czy MySQL daje takie mozliwosci.
Bede wdzieczny za wszelkie podpowiedzi.
-- Pozdrawiam kijan http://www.kijan.com -- Lepiej jest nie odzywać się wcale i wydać się głupim, niż odezwać się i rozwiać wszelkie wątpliwości. "Mark Twain"
Wojtek pBT (lapt) - 11-11-2005 11:39
Dnia 2005-11-06 20:53, Użytkownik kijan napisał:
> Witam, mam pewien problem. > > Moja tabela wyglada tak: > id > id_adres_www > data > wejscie > odswiezenie > > data jest podawana w formie czasu UNIX > > Chciałbym zwrócić poprzez SELECT informacje o sumie wejsc i odswiezen te > kolumny prztyjmuja wartość NULL badz 1. Wszystko było by proste gdybym nie > "musial" zwrocic tych danych na zasadzie tygodniwych informacji. Oczywiscie > moglbym wysylac select z tygodniowym przedzialem czasu i obliaczania tych > informacji, jednak chcialbym to wykonac jednym zaptyaniem, no i zastanawiam > sie czy MySQL daje takie mozliwosci.
mysql ma takie możliwości i ile jesteś w stanie napisać funkcję która na podstawie daty podzieli ci to na jednakowe grupy.
po prostu robisz: GRPUP BY DATE_FORMAT("rok-nr_tygodnia") a jak już sformatować timestampa do formatu który proponuję - to twoje zadania domowe ;)
pBT
kijan - 11-11-2005 11:39
dzięki za potwierdzenie moich domysłów, a co do timestamp to wole bezposrenio czas podany w formacie UNIX mam wieksze moim zdaniem mozliwosci operacji na datach (ale to moja opinia). A date musze miec dosc dokladna, anby wyciagnac z niej inforamcje o godzinie i minucie, chociaz z drugiej stronie nie zaprzeczam ze moze przechowanie dodatkowej informacji o roku i nr tygodnia nie bedzie dobrym rozwiazaniem :) oprocz przechowania moich konkretnych informaqcji.
-- Pozdrawiam kijan http://www.kijan.com -- Lepiej jest nie odzywać się wcale i wydać się głupim, niż odezwać się i rozwiać wszelkie wątpliwości. "Mark Twain"
Użytkownik "Wojtek pBT (lapt)" <bato3@WirtualanPolskap.pl> napisał w wiadomości news:dknl44$45j$1@news.dialog.net.pl... > Dnia 2005-11-06 20:53, Użytkownik kijan napisał: > > > Witam, mam pewien problem. > > > > Moja tabela wyglada tak: > > id > > id_adres_www > > data > > wejscie > > odswiezenie > > > > data jest podawana w formie czasu UNIX > > > > Chciałbym zwrócić poprzez SELECT informacje o sumie wejsc i odswiezen te > > kolumny prztyjmuja wartość NULL badz 1. Wszystko było by proste gdybym nie > > "musial" zwrocic tych danych na zasadzie tygodniwych informacji. Oczywiscie > > moglbym wysylac select z tygodniowym przedzialem czasu i obliaczania tych > > informacji, jednak chcialbym to wykonac jednym zaptyaniem, no i zastanawiam > > sie czy MySQL daje takie mozliwosci. > > mysql ma takie możliwości i ile jesteś w stanie napisać funkcję która na > podstawie daty podzieli ci to na jednakowe grupy. > > po prostu robisz: > GRPUP BY DATE_FORMAT("rok-nr_tygodnia") > a jak już sformatować timestampa do formatu który proponuję - to twoje > zadania domowe ;) > > pBT >
Wojtek pBT (lapt) - 11-11-2005 11:39
Dnia 2005-11-07 17:04, Użytkownik kijan napisał: > dzięki za potwierdzenie moich domysłów, a co do timestamp to wole > bezposrenio czas podany w formacie UNIX mam wieksze moim zdaniem mozliwosci > operacji na datach (ale to moja opinia). A date musze miec dosc dokladna,
w timestamp lepiej liczy się różnicę pomiędzy 2 czasami Ale poczytaj o datetime.
> anby wyciagnac z niej inforamcje o godzinie i minucie, chociaz z drugiej > stronie nie zaprzeczam ze moze przechowanie dodatkowej informacji o roku i
jeżeli będziesz często robił statystyki to dodaj te pola, jeżeli nie, to licz.
> nr tygodnia nie bedzie dobrym rozwiazaniem :) oprocz przechowania moich > konkretnych informaqcji. > timestamp to liczba sekund która upłynęła od (chyba) 1970 - czyli daty uruchomienia pierwszego kompa ?PC?.
Znając liczbę sekund które upłynęły i datę od kiedy zaczęto liczyć jesteśmy w stanie wszystko obliczyć. timestamp jest w pełni konwenterowalny na dowolną datę, a z tej daty jesteś w stanie wyciągnąc dowolną informację. np: dzien tygodnia, roku, nr tygodnia liczbę sekund... (z datetime)
pBT
kijan - 11-11-2005 11:39
> > > timestamp to liczba sekund która upłynęła od (chyba) 1970 - czyli daty > uruchomienia pierwszego kompa ?PC?.
eeeeeeee to tak samo jak czas UNIX :)
ale jak cos dzieki za podpowiedzi
-- Pozdrawiam kijan http://www.kijan.com -- Lepiej jest nie odzywać się wcale i wydać się głupim, niż odezwać się i rozwiać wszelkie wątpliwości. "Mark Twain"
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
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 |
|