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 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

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

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 4
    14.11. 14:22 | Bezpečnostní upozornění

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 5
    14.11. 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    14.11. 10:33 | IT novinky

    Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.

    Ladislav Hagara | Komentářů: 44
    14.11. 03:22 | IT novinky

    Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).

    Ladislav Hagara | Komentářů: 17
    14.11. 02:33 | Nová verze

    Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 356 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    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: 941×
    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.