abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:55 | Zajímavý software

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | IT novinky

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 3
    včera 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    16.7. 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    16.7. 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 5
    16.7. 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    16.7. 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    15.7. 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2156 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: MySQL update více polí dotazem

    18.2.2019 11:14 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    MySQL update více polí dotazem
    Přečteno: 580×
    Zdravím,

    Chci aktualizovat ( nově přidané ) sloupce LastPlace a LastDate pomocí největší hodnoty Time ( a z odpovídajícího řádku PC_Hostname ).

    Vypotil jsem ze sebe
    UPDATE Disks set ( SELECT PC_Hostname AS LastPlace, Time AS LastDate 
    FROM Collections WHERE DiskID = Disk.ID ORDER BY Time DESC LIMIT 1 )
    Ale to asi není správná cesta.

    Dokážu to udělat po jedné hodnotě, ale takto současně mi to nijak nevychází. Ani na netu jsem při hledání podobnou konstrukci neviděl.

    Asi to takto nepůjde, nebo je cestička ?

    Díky Milan

    Řešení dotazu:


    Odpovědi

    18.2.2019 11:17 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Ještě oprava v dotazu namísto Disk má být Disks
    18.2.2019 12:31 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Nakonec jsem "zaměstnal stroj" namísto hlavy ...
     
    UPDATE Disks  SET 
         LastPlace = ( 
              SELECT PC_Hostname FROM Collections 
                   WHERE Collections.DiskID = Disks.ID ORDER BY Collections.Time DESC LIMIT 1 
         ), 
         LastDate = ( 
              SELECT Time FROM Collections 
                  WHERE Collections.DiskID = Disks.ID ORDER BY Collections.Time DESC LIMIT 1 
         ) ;

    Není čas :)

    Ale kdyby to někdo uměl tou hlavou, nechám se poučit

    M.
    Řešení 1× (Milan Uhrák (tazatel))
    18.2.2019 12:54 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Zkusím z hlavy:
    UPDATE Disks AS D
        JOIN (SELECT DiskID, LastPlace, max(Time) AS LastDate
            FROM Collections GROUP BY DiskID) AS C
        ON D.ID=C.DiskID
        SET D.LastPlace=C.LastPlace,
            D.LastDate=C.LastDate;
    Bez záruky.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    18.2.2019 22:22 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Zato to vypadá slibně. Ráno určitě vyzkouším.

    Děkuji za inspiraci

    M.
    20.2.2019 08:51 j
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    To ti fungovat nebude ;D ....

    SELECT DiskID, LastPlace, max(Time) AS LastDate FROM Collections GROUP BY DiskID

    Vynada ti to za ten LastPlace. Musis nejdriv zjistit ten max time a pak ho dat do join/where. A bude to fungovat jen za predpokladu, ze je pro konkretni DiskID unikatni.

    Tzn nejdriv potrebujes

    SELECT DiskID, max(Time) AS LastDate FROM Collections GROUP BY DiskID

    A pak nejak tak (group uz netreba, cas mas)

    SELECT DiskID, LastPlace, Time AS LastDate FROM Collections as x join ( SELECT DiskID, max(Time) AS LastDate FROM Collections GROUP BY DiskID) as t on t.DiskID = x.DiskID and t.LastDate = x.Time

    Jo a btw, takovyhle veci vetsinou nejsou nijak uzasne rychly, spis presne naopak, takze to je spis takova prasecinka na jednorazovy pouziti.
    20.2.2019 10:49 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Ahoj, díky, tohle je už fakt masakr, tohle bych nevypotil. Těch disků je tam asi 150, záznamů k nim asi 35000( už to nějakou dobu sleduju, no ).

    Nakonec jsem to udělal po svém
     
    UPDATE Disks  SET 
       LastPlace = ( 
          SELECT PC_Hostname FROM Collections WHERE Collections.DiskID = Disks.ID ORDER BY Collections.Time DESC LIMIT 1 
       ), 
       LastDate = ( 
          SELECT Time FROM Collections WHERE Collections.DiskID = Disks.ID ORDER BY Collections.Time DESC LIMIT 1 
       ) ;

    Dotay opravdu není rychlý, ale svoje udělá.

    Možná by to šlo přes temporary table ... ale tuhle cestu namám prošlapanou, nebudu to už ani zkoušet .. asi.
    20.2.2019 10:54 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Díky, toto funguje... jen s úpravou JOIN (SELECT DiskID, PC_Hostname AS LastPlace, max(Time)
    20.2.2019 11:02 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Tedy, Kite, tohle vypotit z hlavy, a ještě fungující ... no tedy poklona ...

    Dotaz ( v PMA ) trval 0,8 sek. ( 150 disků, 35000 collections ).

    Jsem ohromen :-)

    Díky moc, mám se co učit

    M.
    20.2.2019 14:19 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: MySQL update více polí dotazem
    Díky za uznání, je to pro mne významným stimulem.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.