abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 7
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    29.5. 21:11 | IT novinky

    Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.

    Ladislav Hagara | Komentářů: 0
    29.5. 15:44 | Nová verze

    Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 2
    28.5. 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 47
    28.5. 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 20
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1022 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce

    15.6.2012 09:00 xter
    Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    Přečteno: 503×
    Ahoj. Mám tabulky senzor a mereni. V tabulce senzor jsou definice teplotních senzorů, v tabulce mereni jsou hodnoty jednotlivých měření. Tabulka mereni:
    senzor_id | mereni_id | hodnota
    -------------------------------
    1           1           12
    1           2           13
    2           1           12
    ...
    
    Potřebuji vypsat senzory (senzor_id) seřazené podle hodnoty v prvním měření, pokud mají některé senzory stejné hodnoty, tak podle pořadí v druhém měření, pak podle třetího měření ... Kdyby se to přepsalo na sloupce, tak by to bylo "order by hodnota_mereni_1, hodnota_mereni_2, ...". Jedná se o SŘBD mysql. Jak by měl takový dotaz vypadat?

    Odpovědi

    15.6.2012 10:50 DK
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    SELECT senzor_id FROM tabulka ORDER BY senzor_id ASC, mereni_id ASC, hodnota ASC

    pokud chces vsechna data, tak takto

    SELECT * FROM tabulka ORDER BY senzor_id ASC, mereni_id ASC, hodnota ASC
    15.6.2012 10:51 DK
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    aha, tak az ted jsem to pochopil :) jak vypada tabulka senzoru a jak to chcete mit vypsane? (presne priklady)
    15.6.2012 12:20 xter
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    Stačí mi seřazené sensor_id, s tabulkou senzorů si to pak už spojit dokážu.
    15.6.2012 11:43 jekub
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    jen námět pro seřazení senzorů podle celkově vyšších měření (ne prvního vyššího). Pro úplné řešení "stačí" omezit výběr z vniřního selectu na první neulovou hodnotu. A to nevím, jak se v mysql dělá.
    select senzor_id from senzor s
    order by(
     select count(*) from(
      select
      m1.senzor_id,
      case
        when m1.hodnota > m2.hodnota or m2.hodnota is null then 1
        when m1.hodnota < m2.hodnota then -1
        else 0
      end m1_m2
      from mereni m1
      left join mereni m2 on m1.senzor_id <> m2.senzor_id and m1.mereni_id=m2.mereni_id
     ) where m1.senzor_id=s.senzor_id and m1_m2>0
    )
    
    
    wamba avatar 15.6.2012 13:08 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    nešlo by něco jako:
    select sum(hodnota*100^(4-mereni_id)) as a, senzor_id from mereni   group by senzor_id order by a
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    16.6.2012 13:50 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    To je dobrý řešení, pokud jsou hodnoty s malym rozsahem a je jich málo... aby se to dalo naladit tak, by nepřetekly. Float má jen 15 platnejch číslic.
    Josef Kufner avatar 18.6.2012 09:59 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    Podobný způsob spočívá v použití group_concat. Jen je třeba zachovat nevýznamné nuly. Zrovna zde to asi nebude lepší, ale v jiných podobných situacích by se to mohlo hodit.
    Hello world ! Segmentation fault (core dumped)
    15.6.2012 21:03 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    Vykonove nic moc, ale podle pozadavku by to radit mohlo. Predpokladam, ze tabulka ma svoje id hodnota_id. Pokud nema, bud pridat nebo joinovat podle senzor_id and mereni_id:
    select m.senzor_id, m.mereni_id, m.hodnota
    from mereni m
       inner join mereni m1 on m1.hodnota_id = m.hodnota_id and m.mereni_id = 1
       inner join mereni m2 on m2.hodnota_id = m.hodnota_id and m.mereni_id = 2
       inner join mereni m3 on m3.hodnota_id = m.hodnota_id and m.mereni_id = 3
       inner join mereni m4 on m4.hodnota_id = m.hodnota_id and m.mereni_id = 4
    order by m1.hodnota, m2.hodnota, m3.hodnota, m4.hodnota
    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    Josef Kufner avatar 18.6.2012 09:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak několikrát seřadit jednu tabulku podle specifických podmínek 1 sloupce
    Pokud vícekrát měříš jedny data, tak bych spíš očekával, že budeš chtít počítat nějakou střední hodnotu a rozptyl naměřených hodnot. V takovém případě bych si vytvořil pomocnou tabulku a v ní vypočtená data uchovával (senzor_id, čas, hodnota, rozptyl), aby se nemusela počítat pořád dokola, což by při kreslení grafů mohlo být náročné. Pokud by se více zapisovalo než počítalo, použil bych místo pomocné tabulky view (neboť MySQL neumí materializované view).
    Hello world ! Segmentation fault (core dumped)

    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.