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í
×
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

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

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 0
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 13
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    24.8. 16:00 | IT novinky

    Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.

    Ladislav Hagara | Komentářů: 11
    24.8. 14:11 | Nová verze

    Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2501 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Pomoc so syntaxou SQL

    12.4.2010 10:46 eth4rendil | skóre: 13
    Pomoc so syntaxou SQL
    Přečteno: 530×
    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.