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 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    včera 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 8
    včera 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 1
    včera 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    včera 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    6.5. 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.5. 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (64%)
     (7%)
     (13%)
     (16%)
    Celkem 138 hlasů
     Komentářů: 9, poslední včera 22:07
    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.