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 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 3
    dnes 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

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

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    včera 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 14
    včera 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    2.12. 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    2.12. 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 426 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Pomoc so syntaxou SQL

    12.4.2010 10:46 eth4rendil | skóre: 13
    Pomoc so syntaxou SQL
    Přečteno: 297×
    Dobrý deň,

    snažím sa napísať jednu query ale bohužial neúspešne. vzor tabulky:
    nazov    datum        hodnota
    aaas     2010-03-10   a
    aaad     2010-03-10   n
    aaae     2010-03-10   a
    aaab     2010-04-10   a
    aaaq     2010-04-10   n
    aaaw     2010-05-10   a
    snažím dostať nasledovné: zistiť pre každý deň počet "a" a počet "n" teda výsledok by mal byť podľa tohoto vzoru takýto:
    datum       hodnota_a  hodnota_n
    2010-03-10  2          1
    2010-04-10  1          1
    2010-03-10  0          1
    viem spraviť ale iba cez dva selecty
    SELECT datum, count(*)
    FROM tabulka
    WHERE hodnota='a'
    GROUP BY datum
    ORDER BY datum DESC;
    len tým dostanem iba počet "a" a neviem ako to vložiť to jednej query/výsledku databáza je MySQL.

    ďakujem za akýkoľvek nápad

    Odpovědi

    okbob avatar 12.4.2010 11:17 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Pomoc so syntaxou SQL
    co treba
    SELECT datum, sum(CASE WHEN hodnota = 'a' THEN 1 ELSE 0 END),
                  sum(CASE WHEN hodnota = 'n' THEN 1 ELSE 0 END)
       FROM ...
      GROUP BY dataum;
    
    12.4.2010 11:27 FooBar
    Rozbalit Rozbalit vše Re: Pomoc so syntaxou SQL
    Netestovano na syntaktickou korektnost:
    SELECT
     datum,
     COUNT(NULLIF(hodnota, 'n')) AS hodnota_a,
     COUNT(NULLIF(hodnota, 'a')) AS hodnota_n,
    FROM
     tabulka
    GROUP BY datum;
    V pripade vetsiho mnozstvi hodnot muzes ten NULLIF pro opacnou hodnotu nahradit CASE vyrazem (pak by byla kazda polozka neco jako: COUNT(CASE WHEN hodnota = 'a' THEN 1 ELSE NULL END) AS hodnota_a).
    12.4.2010 12:05 eth4rendil | skóre: 13
    Rozbalit Rozbalit vše Re: Pomoc so syntaxou SQL
    dakujem pekne za nápady mne sa to medzicasom podarilo spraviť takto
    SELECT datum, count(*) as spolu,
    COUNT(if(hodnota='a',1,null)) AS pocet_hodnota_a,
    COUNT(if(hodnota='n',1,null)) AS pocet_hodnota_n,
    CONCAT(round((COUNT(if(hodnota_a='a',1,null))/COUNT(*))*100,0), ' %') as uspesnost
    FROM tabulka
    GROUP BY datum
    ORDER BY datum DESC;
    bude jednať o väčšiu tabuľku a teraz neviem ktorá s týchto troch možností je najrýchlejšia? ešte v poslednom stĺpci som spravil percentuálnu úslešnosť. teda sú 4 stĺpce:
    - dátum
    - spolu
    - pocet_hodnota_a (úspech)
    - pocet_hodnota_n (neúspech)
    - uspesnost
    Nedá sa namiesto COUNT(if(hodnota_a='a',1,null)) použiť niečo jednoduchšie teda napr iba pocet_hodnota_a ? či to sa dá použit už iba v order klauzele?

    ďakujem pekne

    12.4.2010 13:00 kulik
    Rozbalit Rozbalit vše Re: Pomoc so syntaxou SQL
    Lze vnorenym selectem, tzn. nad vystupem (datum, pocet_a, pocet_n) dopocitat ty zbyvajici, coz bude i prehlednejsi. Na "stejne urovni" aliasy pouzit nelze.
    Vzhledem k tomu, ze neuvadis ani o jakou databazi se jedna, ti tezko nekdo rekne, zda count bude rychlejsi nez sum. S nejvetsi pravdepodobnosti to nebud pozorovatelny rozdil. Pokud te rychlost opravdu trapi, tak se predevsim vykasli na formatovani sloupecku s procenty, to patri na prezentacni vrstvu.
    okbob avatar 12.4.2010 13:26 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Pomoc so syntaxou SQL
    Úzké hrdlo SQL databází představují v 99% diskové operace, takže není nutné řešit, zda se použít COUNT nebo SUM. Důležitý je počet diskových operací (čtení/zápis). V obou případech budou stejné - můžete ovšem napsat totální blbost, čímž počet diskových operací znásobíte - např.
    SELECT DISTINCT datum,
      (SELECT count(*) FROM tab WHERE datum = o.datum AND hodnota = 'a'),
      (SELECT count(*) FROM tab WHERE datum = o.datum AND hodnota = 'n')
      FROM tab o;
    
    Tento dotaz bude dělat totéž, nicméně může být 1000x pomalejší.

    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.