ďťż
 
start, stop zapisane w tym samym polu ďťż
 
start, stop zapisane w tym samym polu
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

start, stop zapisane w tym samym polu



Piotr Borowski - 12-01-2007 00:29
start, stop zapisane w tym samym polu
  Pozdrawiam
Mam tabele

id, time, filename, mode
1, 2006-01-13 12:00:00, kotek.bmp, 0
2, 2006-01-13 12:00:02, kotek.bmp, 1
3, 2006-01-13 12:00:04, piesek.bmp, 0
4, 2006-01-13 12:00:06, piesek.bmp, 1

pole mode oznacza
0 - zaczeto wyswietlac
1 - skonczono

czy da sie w jednym zapytaniu przerobic ta tabele w taka jak ponizej:

filename, start, stop
kotek.bmp, 2006-01-13 12:00:00, 2006-01-13 12:00:02
piesek.bmp, 2006-01-13 12:00:04, 2006-01-13 12:00:06

Wydaje mi sie, ze nie, bo czasami moze sie zdarzyc, ze beda dwa starty, albo
dwa stopy i trzeba to zignorowac.
Jakies sugestie?
--
Piotr Borowski
sorry za literki, ale pisze z Leicester





Grzegorz Danowski - 12-01-2007 00:29

  "Piotr Borowski" <PeterBilberry@gazeta.pl> wrote in message
news:eo5k1f$spo$1@inews.gazeta.pl...
> Pozdrawiam
> Mam tabele
>
> id, time, filename, mode
> 1, 2006-01-13 12:00:00, kotek.bmp, 0
> 2, 2006-01-13 12:00:02, kotek.bmp, 1
....
> czy da sie w jednym zapytaniu przerobic ta tabele w taka jak ponizej:
>
> filename, start, stop
> kotek.bmp, 2006-01-13 12:00:00, 2006-01-13 12:00:02
> piesek.bmp, 2006-01-13 12:00:04, 2006-01-13 12:00:06
>
> Wydaje mi sie, ze nie, bo czasami moze sie zdarzyc, ze beda dwa starty,
> albo dwa stopy i trzeba to zignorowac.
> Jakies sugestie?

A Case When próbowałeś? Coś w stylu:

Select
FileName,
Min(Case When mode = 0 Then time End) As start,
Max(Case When mode = 1 Then time End) As stop
From
TwojaTabelka
Group By
FileName

W tej chwili wybierana jest najmniejsza data rozpoczęcia, jeśli chcesz
najświeższą, to wpisz Max zamiast Min.
--
Pozdrawiam
Grzegorz




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 12-01-2007 00:29

  Piotr Borowski wrote:
> Pozdrawiam
> Mam tabele
>
> id, time, filename, mode
> 1, 2006-01-13 12:00:00, kotek.bmp, 0
> 2, 2006-01-13 12:00:02, kotek.bmp, 1
> 3, 2006-01-13 12:00:04, piesek.bmp, 0
> 4, 2006-01-13 12:00:06, piesek.bmp, 1
>
> pole mode oznacza
> 0 - zaczeto wyswietlac
> 1 - skonczono
>
> czy da sie w jednym zapytaniu przerobic ta tabele w taka jak ponizej:
>
> filename, start, stop
> kotek.bmp, 2006-01-13 12:00:00, 2006-01-13 12:00:02
> piesek.bmp, 2006-01-13 12:00:04, 2006-01-13 12:00:06
>
> Wydaje mi sie, ze nie, bo czasami moze sie zdarzyc, ze beda dwa starty, albo
> dwa stopy i trzeba to zignorowac.
> Jakies sugestie?

Najprościej, to dodać pole id wyświetlenia. Inaczej to można zrobić tylko bardzo
niewydajne zapytanie i to przy założeniu, że nie mogą być równocześnie
wyświetlane dwa obrazki (a pewnie mogą).

--
P.M.




=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 12-01-2007 00:29

  Piotr Borowski wrote:
> id, time, filename, mode
> 1, 2006-01-13 12:00:00, kotek.bmp, 0
> 2, 2006-01-13 12:00:02, kotek.bmp, 1
> 3, 2006-01-13 12:00:04, piesek.bmp, 0
> 4, 2006-01-13 12:00:06, piesek.bmp, 1
>
> pole mode oznacza
> 0 - zaczeto wyswietlac
> 1 - skonczono
>
> czy da sie w jednym zapytaniu przerobic ta tabele w taka jak ponizej:
>
> filename, start, stop
> kotek.bmp, 2006-01-13 12:00:00, 2006-01-13 12:00:02
> piesek.bmp, 2006-01-13 12:00:04, 2006-01-13 12:00:06
Jeśli to jest Oracle, to powinno się dać używając funkcji analitycznych, coś
w stylu lead/lag over (partition by filename order by time, mode).

--
Michał Kuratczyk





Piotr Borowski - 12-01-2007 00:29

  >> Wydaje mi sie, ze nie, bo czasami moze sie zdarzyc, ze beda dwa starty,
>> albo dwa stopy i trzeba to zignorowac.
>> Jakies sugestie?
> A Case When próbowałeś? Coś w stylu:
> Select
> FileName,
> Min(Case When mode = 0 Then time End) As start,
> Max(Case When mode = 1 Then time End) As stop
> From
> TwojaTabelka
> Group By
> FileName
> W tej chwili wybierana jest najmniejsza data rozpoczęcia, jeśli chcesz
> najświeższą, to wpisz Max zamiast Min.

dzieki za sugestie, ale tego moze byc pelno, moze sie zdarzyc, ze pare
plikow bedzie otwartych na raz :-(

--
Piotr Borowski
sorry za literki, ale pisze z Leicester




Piotr Borowski - 12-01-2007 00:29

  >> filename, start, stop
>> kotek.bmp, 2006-01-13 12:00:00, 2006-01-13 12:00:02
>> piesek.bmp, 2006-01-13 12:00:04, 2006-01-13 12:00:06
> Jeśli to jest Oracle, to powinno się dać używając funkcji analitycznych,
> coś
> w stylu lead/lag over (partition by filename order by time, mode).

dzieki, ale to nie oracle
sorry, powinieniem podac na poczatku to MySQL

--
Piotr Borowski
sorry za literki, ale pisze z Leicester




Grzegorz Danowski - 12-01-2007 00:29

  "Piotr Borowski" <PeterBilberry@gazeta.pl> wrote in message
news:eo5nju$gvr$1@inews.gazeta.pl...
>>> Wydaje mi sie, ze nie, bo czasami moze sie zdarzyc, ze beda dwa starty,
>>> albo dwa stopy i trzeba to zignorowac.
>>> Jakies sugestie?
>> A Case When próbowałeś? Coś w stylu:
....
>> W tej chwili wybierana jest najmniejsza data rozpoczęcia, jeśli chcesz
>> najświeższą, to wpisz Max zamiast Min.
>
> dzieki za sugestie, ale tego moze byc pelno, moze sie zdarzyc, ze pare
> plikow bedzie otwartych na raz :-(

No i wynik powyższego zapytania będzie nieprawidłowy? W takim razie wyjaśnij
co miałeś na myśli pisząc:
"czasami moze sie zdarzyc, ze beda dwa starty, albo
dwa stopy i trzeba to zignorowac"
--
Pozdrawiam
Grzegorz




Piotr Borowski - 13-01-2007 00:01

  >>>> Wydaje mi sie, ze nie, bo czasami moze sie zdarzyc, ze beda dwa starty,
>>>> albo dwa stopy i trzeba to zignorowac.
>>>> Jakies sugestie?
>>> A Case When próbowałeś? Coś w stylu:
>>> W tej chwili wybierana jest najmniejsza data rozpoczęcia, jeśli chcesz
>>> najświeższą, to wpisz Max zamiast Min.
>> dzieki za sugestie, ale tego moze byc pelno, moze sie zdarzyc, ze pare
>> plikow bedzie otwartych na raz :-(
> No i wynik powyższego zapytania będzie nieprawidłowy? W takim razie
> wyjaśnij co miałeś na myśli pisząc:
> "czasami moze sie zdarzyc, ze beda dwa starty, albo
> dwa stopy i trzeba to zignorowac"

sorry, chyba nie bylem zbyt dokladny
jest pelno komputerow, ktore odgrywaja (pokazuja) pliki multimedialne, gdy
zaczynaja pokazywac zapisuja do bazy pierwszy rekord, gdy koncza drugi, moim
zadaniem jest napisanie programu, ktory wyliczy calkowity czas pokazywania
czegos np. w danym dniu
w tym celu musze od kazdego konca odjac jego poczatek, gdyby sie zdarzyl
poczatek bez konca, trzeba go zignorowac itd.

--
Piotr Borowski
sorry za literki, ale pisze z Leicester




Maciek Dobrzanski - 13-01-2007 00:01

  "Piotr Borowski" <PeterBilberry@gazeta.pl> wrote in message
news:eo7lca$nvt$1@inews.gazeta.pl...

> jest pelno komputerow, ktore odgrywaja (pokazuja) pliki multimedialne, gdy
> zaczynaja pokazywac zapisuja do bazy pierwszy rekord, gdy koncza drugi,
> moim zadaniem jest napisanie programu, ktory wyliczy calkowity czas
> pokazywania czegos np. w danym dniu

A widzisz, to zmienia postać rzeczy. Choć poniższe rozwiązanie oparte jest o
kruche założenie, ża każdy początek będzie miał swój koniec, bo inaczej...
będzie źle ;)

SELECT filename, SUM((CASE WHEN mode = 0 THEN -1 ELSE 1
END)*UNIX_TIMESTAMP(time)) AS p_time FROM t1 GROUP BY filename;

Jak to działa, jak przerobić zapytanie dla pojedynczego pliku, lub
określonego czasu - sam pomyśl. :)

Maciek




Piotr Borowski - 13-01-2007 00:01

  "Maciek Dobrzanski" <mushu@WYTNIJ-TOpoczta.fm> wrote in message
news:eo7o53$f9n$1@news.interia.pl...
> "Piotr Borowski" <PeterBilberry@gazeta.pl> wrote in message
> news:eo7lca$nvt$1@inews.gazeta.pl...
>
>> jest pelno komputerow, ktore odgrywaja (pokazuja) pliki multimedialne,
>> gdy zaczynaja pokazywac zapisuja do bazy pierwszy rekord, gdy koncza
>> drugi, moim zadaniem jest napisanie programu, ktory wyliczy calkowity
>> czas pokazywania czegos np. w danym dniu
>
> A widzisz, to zmienia postać rzeczy. Choć poniższe rozwiązanie oparte jest
> o kruche założenie, ża każdy początek będzie miał swój koniec, bo
> inaczej... będzie źle ;)
>
> SELECT filename, SUM((CASE WHEN mode = 0 THEN -1 ELSE 1
> END)*UNIX_TIMESTAMP(time)) AS p_time FROM t1 GROUP BY filename;
>
> Jak to działa, jak przerobić zapytanie dla pojedynczego pliku, lub
> określonego czasu - sam pomyśl. :)
>
> Maciek

dzieki

--
Piotr Borowski
sorry za literki, ale pisze z Leicester
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= Jedno zapytanie różne wyniki w polu data [mysql i mysql+php] Adobe Illustrator - jak w wersji 11 zapisać plik w formacie wersji 10 albo 8? =?iso-8859-2?Q?Jak_zapisa=E6_tak=B1_formu=B3=EA_w_excelu=3F?= Jak nalezy w Photoshopie zapisac z bazowego psd na eps tak by pozniej otworzyc go w krzywych w Corelu??? ORACLE - czy da sie poprawic konkretny znak w polu typu varchar? [mySQL] pomoc w zapytaniu zmieniajacym slow o w polu text [MS SQL server 2005] - zapisanie wyniku zapytania na dysk MYSQL i PHP - polskie litery w polu SELECT [VFP9] Zatrzymanie kursora w polu tekst
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lubiatowo.xlx.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com