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í
×
    dnes 13:11 | IT novinky

    Na WhatsAppu budou postupně v průběhu následujících měsíců zavedena uživatelská jména. Telefonní čísla tak mohou zůstat soukromá. Aktuálně si lze uživatelské jméno rezervovat.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | IT novinky

    Byl aktualizován TIOBE Index (Wikipedie). Programovací jazyk Rust se poprvé dostal do první desítky tohoto žebříčku popularity programovacích jazyků. Vede Python následovaný C, C++, Java, C#, …

    Ladislav Hagara | Komentářů: 0
    dnes 01:55 | Nová verze

    Proton (Wikipedie), tj. fork Wine integrovaný ve Steamu umožňující na Linuxu hrát hry určené pouze pro Windows, byl vydán ve verzi 11.0-1. Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled všech podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Zajímavý software

    Byly publikovány zdrojové kódy počítačové hry Unturned. Pro nekomerční účely. V plánu je přelicencování pod MIT. Hra Unturned je postavena nad multiplatformním herním enginem Unity.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | IT novinky

    První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.

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

    Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.

    Ladislav Hagara | Komentářů: 1
    včera 04:00 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v dubnu letošního roku v upstreamu opravena kritická zranitelnost Bad Epoll aneb CVE-2026-46242. Jedná se o zranitelnost typu "race-condition use-after-free", která běžnému uživateli umožňuje získat práva roota. Na distribucích Linuxu i na Androidu. Dokonce i zevnitř sandboxu prohlížeče Chrome. Chyba byla do Linuxu zavedena v dubnu 2023, tj. Linux 6.4.

    Ladislav Hagara | Komentářů: 0
    6.7. 23:22 | Nová verze

    Byla vydána nová verze 10.4 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Vyzkoušet lze experimentální podporu postkvantového algoritmu mldsa44-ed25519.

    Ladislav Hagara | Komentářů: 0
    6.7. 16:33 | Zajímavý projekt

    Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.

    Ladislav Hagara | Komentářů: 2
    6.7. 15:11 | Nová verze

    Byla vydána nová verze 3.28.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opraveno bylo 8 zranitelností.

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


    Dotaz: MySQL GROUP BY a ORDER BY

    13.1.2012 08:01 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
    MySQL GROUP BY a ORDER BY
    Přečteno: 989×
    V MySQL mám takovouto strukturu jako:
    otázka1               otázka2     otázka3
    |
    otázka1odpověď1                   otázka3odpověď1
    |
    otázka2odpověď2
    
    Otázky mají atribut top=0 a u odpovědí top=id otázky. SQL tabulka vypadí cca takto
    CREATE TABLE posts(id int(5) NOT NULL, top int(5) NOT NULL, title varchar(255), dateadd datetime NOT NULL, ......,PRIMARY KEY(id));
    
    Nevíte někdo jak získám výpis, který by obsahoval toto:
    otázka2odpověď2
    otázka2
    otázka3odpověď1
    
    tj. poslední odpověď, nebo samotnou otázku pokud nemá odpověď ale seřazenou podle data přidání sestupně. Zkoušel jsem něco jako:
    SELECT MAX(id), top,
    FROM posts
    GROUP BY top
    ORDER BY dateadd DESC
    
    Ale to vrací nesmyslné výsledky.

    Předem děkuji za odpovědi.

    Odpovědi

    13.1.2012 09:49 Kit
    Rozbalit Rozbalit vše Re: MySQL GROUP BY a ORDER BY
    Asi to není úplně správně, ale zdá se, že by to mohlo fungovat:
    SELECT posts.title, odp.title
      FROM posts LEFT JOIN posts AS odp ON odp.top=posts.id
      WHERE posts.top=0 GROUP BY posts.id;
    13.1.2012 10:58 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: MySQL GROUP BY a ORDER BY
    Na todle by se správně měli použít window function, který ale v nejsou. Správně by s měl pro každou otázku udělat subselect limit 1, ale to je strašný (pro malou db ale asi taky v pohodě)

    Kitovo řešení s group by IMHO fungovat nebude, mysql u group by u sloupců v group by neuvedenejch vrátí libovolnej řádek (zpravidla první, na kterej narazí)

    Zkusil bych něco ve stylu
    SELECT * FROM post LEFT JOIN 
    (
    odpovedi 
    INNER JOIN
    (SELECT top, MAX(date) date FROM  post WHERE top <> 0 GROUP BY top) grouped
    ON (grouped.top = odpovedi.top AND odpovedi.date = grouped.date)
    )
    ON (odpovedi.top = post.id)
    WHERE post.top = 0
    
    Smysl je: leftjoinu to na tabulku, kterou nejprve omezím pouze na poslední odpovědi z otázek.

    Má to jen tu chybu, že pokud tam budou dvě odpovědi ze stejnýho času, tak tam pro danou otázku budou řádky dvě. To se dá vyřešit různě: Např že k celýmu výsledku leftjoinu výsledek ještě jednou, s podmínkou že id otázky je stejný, ale id odpovědi větší a vrátim jen to, kde ten leftjoin se nepovede (tocelypodruhe.id is null) - tím vyloučím ty duplicitní odpovědi.

    Anebo se to dářešit přechodem na nějakou rozumější db, která umí window functions :-)
    13.1.2012 11:53 Kit
    Rozbalit Rozbalit vše Re: MySQL GROUP BY a ORDER BY
    Kitovo řešení s group by IMHO fungovat nebude, mysql u group by u sloupců v group by neuvedenejch vrátí libovolnej řádek (zpravidla první, na kterej narazí)
    Také jsem se divil, že mi to v SQLite funguje podle zadání. Místo libovolného řádku vrací poslední. V MySQL se mi to zkoušet nechtělo. Napsal jsem to jako nástin možného řešení. Musím přece tazateli nechat prostor pro jeho vlastní aktivitu, ne?
    13.1.2012 12:04 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: MySQL GROUP BY a ORDER BY
    Ten libovolný řádek samozřejmě není libovolný (ve smyslu fce random), ale řádek získaný dle nějakého nedokumentovaného a nezaručeného kritéria: MySQL vrací první na který narazí, SQLite tedy pravděpodobně poslední, na který narazí. - Takže pokud Ti někdy vznikne v db "díra", tak už to nemusí fungovat ni SQLite, protože pořadí fyzického uložení se bude od chronologického lišit.
    13.1.2012 12:28 Kit
    Rozbalit Rozbalit vše Re: MySQL GROUP BY a ORDER BY
    V SQLite jsou výstupní data vždy seřazena podle ID (pokud je nenecháš seřadit jinak), takže při běžném insertu s autoincrementem se ta díra nikdy nezaplní.

    Ale jinak s tebou souhlasím, mé řešení fungovat nemusí, protože neodpovídá specifikaci SQL a využívá vlastnost, která je dána implementací a není garantována.

    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.