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

Byla vydána nová stabilní verze 1.8 (1.8.770.50) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují vylepšenou historii prohlížení. Ukázka na YouTube. Chromium bylo aktualizováno na verzi 57.0.2987.111.

Ladislav Hagara | Komentářů: 0
dnes 05:55 | Zajímavý projekt

Google na svém blogu věnovaném open source představil portál Google Open Source informující mimo jiné o více než 2000 open source projektech vyvíjených nebo používaných v Googlu.

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

Pro společnost Red Hat skončil 28. února fiskální rok 2017. Dle finančních výsledků bylo čtvrté čtvrtletí, stejně jako celý fiskální rok 2017, opět úspěšné. Tržby jsou zvyšovány již 60 čtvrtletí v řadě. Za čtvrté čtvrtletí 2017 to bylo 629 milionů dolarů, tj. meziroční nárůst 16 %. Tržby za celý fiskální rok činily 2,4 miliardy dolarů, tj. meziroční nárůst 18 %.

Ladislav Hagara | Komentářů: 2
včera 18:22 | Bezpečnostní upozornění

V balíčku eject, příkaz pro vysunutí CD/DVD z mechaniky, v linuxových distribucích Ubuntu (USN-3246-1) a Debian (#858872) byla nalezena bezpečnostní chyba CVE-2017-6964 zneužitelná k lokální eskalaci práv. Linuxové distribuce používající eject z balíčku util-linux nejsou zranitelné.

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

Dries Buytaert, autor a vedoucí projektu Drupal a prezident Drupal Association, požádal soukromě před několika týdny Larryho Garfielda, jednoho z klíčových vývojářů Drupalu, aby projekt Drupal opustil. Larry Garfield minulý týden na svých stránkách napsal, že důvodem jsou jeho BDSM praktiky a rozpoutal tím bouřlivou diskusi. Na druhý den reagoval Dries Buytaert i Drupal Association. Pokračuje Larry Garfield [reddit].

Ladislav Hagara | Komentářů: 55
včera 04:44 | Humor

Společnost SAS zveřejnila na svých stránkách studii s názvem Open Source vs Proprietary: What organisations need to know (pdf). Organizace by měly například vědět, že ideální je mix 40 % open source softwaru a 60 % proprietárního softwaru [Slashdot].

Ladislav Hagara | Komentářů: 12
27.3. 23:33 | Zajímavý software

Byl vydán ShellCheck ve verzi 0.4.6. Jedná se o nástroj pro statickou analýzu shellových skriptů. Shellové skripty lze analyzovat na webové stránce ShellChecku, v terminálu nebo přímo z textových editorů. Příklady kódů, na které analýza upozorňuje a doporučuje je přepsat. ShellCheck je naprogramován v programovacím jazyce Haskell. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
27.3. 23:33 | Pozvánky

Czech JBoss User Group zve na setkání JBUG v Brně, které se koná ve středu 5. dubna 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Pavol Loffay na téma Distributed Tracing and OpenTracing in Microservice Architecture.

… více »
mjedlick | Komentářů: 0
27.3. 11:33 | Zajímavý článek

Národní centrum kybernetické bezpečnosti (NCKB) vypracovalo (pdf) 26 podrobných bezpečnostních doporučení pro síťové správce. Tato doporučení jsou nastavena tak, aby je bylo možné aplikovat v každé instituci. Jsou rozdělena na tři základní části: bezpečnost infrastruktury, bezpečnost stanic a serverů a bezpečnost uživatelů.

Ladislav Hagara | Komentářů: 17
27.3. 05:55 | Komunita

Prezident Nadace pro svobodný software (FSF) Richard M. Stallman vyhlásil na slavnostním ceremoniálu v rámci konference LibrePlanet 2017 vítěze Free Software Awards za rok 2016. Ocenění za společenský přínos získal SecureDrop (Wikipedie). Za rozvoj svobodného softwaru byl oceněn Alexandre Oliva (Wikipedie).

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 962 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: slouceni dvou dotazu

    25.11.2009 07:51 Leoš Literák | skóre: 74 | blog: LL | Praha
    slouceni dvou dotazu
    Přečteno: 607×
    Ahoj, mam dalsi dotaz pro vyvoj abicka, holt sql neni moje parketa. Mam dva dotazy, ktere samostatne funguji. Chtel bych to zoptimalizovat, abych je nemusel spoustet a zpracovavat samostatne, ale mel jen jeden dotaz se dvema hodnotovymi sloupecky. Lisi se jen jednou podminkou rovnosti S.pridal,RS.kdo a obsahuji count a group by. Databaze mysql.
    select K.autor,count(*) from komentar K, reseni RS, relace R, spolecne S where 
    RS.zaznam=R.potomek and R.typ_potomka='Z' and R.predek=S.cislo and S.typ='P' and 
    (S.pridal<>RS.kdo or S.pridal is null) and K.cislo=RS.komentar and RS.kdo<>K.autor group by K.autor
    | autor | count(*) |
    +-------+----------+
    |     1 |        1 |
    |    11 |        1 |
    |    20 |        2 |
    |   151 |        4 |
    |   595 |        2 |
    select K.autor,count(*) from komentar K, reseni RS, relace R, spolecne S where 
    RS.zaznam=R.potomek and R.typ_potomka='Z' and R.predek=S.cislo and S.typ='P' and 
    S.pridal=RS.kdo and K.cislo=RS.komentar and RS.kdo<>K.autor group by K.autor
    | autor | count(*) |
    +-------+----------+
    |     1 |        3 |
    |   151 |        2 |
    |   421 |        1 |
    |   595 |        2 |
    |   868 |        1 |
    Chtel bych dostat takovyto vysledek:
    | autor | count(*) | count(*) |
    +-------+----------+----------+
    |     1 |        3 |        1 |
    |   151 |        2 |        4 |
    |   421 |        1 |        0 |
    |   595 |        2 |        2 |
    |   868 |        1 |        3 |
    Diky
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow

    Řešení dotazu:


    Odpovědi

    25.11.2009 08:32 kulik
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    Myslim ze by melo jit ty lisici se podminky vytahnout do agregace. Nevim jak se to udela v mysql, ale v Oracle by to mohlo vypadat takto (lepsi nez decode je case, ale pravdepodobnost vyskytu jeho analogie v mysql vidim jako mensi):
    select K.autor,        
           sum(decode(S.pridal, null, 1, RS.kdo, 0, 1)) cnt1,
           sum(decode(S.pridal, null, 0, RS.kdo, 1, 0)) cnt2       
    from komentar K, reseni RS, relace R, spolecne S 
    where 
    RS.zaznam=R.potomek and R.typ_potomka='Z' and R.predek=S.cislo and S.typ='P' and K.cislo=RS.komentar and RS.kdo<>K.autor group by K.autor
    

    25.11.2009 16:52 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    +1 aj s CASE :-) +10 za verziu s triggrami.
    25.11.2009 20:24 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    decode mysql nema, case ano. Tento prikaz skonci chybou. Jak by to vypadalo s case? Dik
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    25.11.2009 10:07 posejdon
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    myslim, ze mysql 5 a vyssi by si melo poradit s timto, nicmene reseni navrzene vyse by melo byt optimalnejsi (jedinny pruchod tabulky), mysql pouziti CASE umoznuje a v tomto pripade by mohlo zvysit prehlednost kodu (resp umysl bude bit do oci na 1. pohled).

    select t1.autor, t1.c1, t2.c2

    FROM

    (select K.autor,count(*) as c1 from komentar K, reseni RS, relace R, spolecne S where

    RS.zaznam=R.potomek and R.typ_potomka='Z' and R.predek=S.cislo and S.typ='P' and

    (S.pridal<>RS.kdo or S.pridal is null) and K.cislo=RS.komentar and RS.kdo<>K.autor group by K.autor) t1

    JOIN

    (select K.autor,count(*) as c2 from komentar K, reseni RS, relace R, spolecne S where

    RS.zaznam=R.potomek and R.typ_potomka='Z' and R.predek=S.cislo and S.typ='P' and

    S.pridal=RS.kdo and K.cislo=RS.komentar and RS.kdo<>K.autor group by K.autor) t2

    ON t2.autor = t1.autor
    25.11.2009 20:27 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    Dik, tohle funguje, explain ukazuje deset tabulek. Zatim je tam malo dat, takze rychlost neni prekazkou. Jsem perfekcionista, zajimala by me ta varianta s case.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    25.11.2009 22:28 posejdon
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    No myslel jsem, ze nakopnuti od kolegy a dokumentace k MySQL postaci, ale zkusim nazorny priklad, vzdyt je to pro dobrou vec (a zvladnou to i prehistoricke vydani MySQL)
    select K.autor,
           sum( CASE WHEN S.pridal=RS.kdo and K.cislo=RS.komentar THEN 1 ELSE 0 END ) cnt1,
           sum( CASE WHEN S.pridal<>RS.kdo or S.pridal is null THEN 1 ELSE 0 END ) cnt2
    from komentar K, reseni RS, relace R, spolecne S 
    where RS.zaznam=R.potomek 
     and R.typ_potomka='Z' 
     and R.predek=S.cislo 
     and S.typ='P' 
     and K.cislo=RS.komentar 
     and RS.kdo<>K.autor 
    group by K.autor
    
    Řešení 1× (Leoš Literák (tazatel))
    25.11.2009 22:55 posejdon
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    Jeste bych se chtel primluvit za to, abys pouzival ke spojovani tabulek JOIN namisto kartezskeho soucinu omezeneho v klauzuli where, nebot se celkem spatne hleda, co je spojeno s cim (ale na rychlost dotazu to nema vliv a je to spise o zvyku, ja takto rovnou vidim relaci a nemusim to hledat v podminkach)
    SELECT K.autor,
           SUM( CASE WHEN S.pridal = RS.kdo AND K.cislo = RS.komentar THEN 1 ELSE 0 END ) cnt1,
           SUM( CASE WHEN S.pridal <> RS.kdo OR S.pridal IS NULL THEN 1 ELSE 0 END ) cnt2
    FROM komentar K
    JOIN reseni RS ON RS.komentar = K.cislo
    JOIN relace R ON R.potomek = RS.zaznam 
                  AND R.typ_potomka='Z'
    JOIN spolecne S ON s.cislo = r.predek
                    AND S.typ='P' 
    WHERE RS.kdo <> K.autor 
    GROUP BY K.autor
    
    26.11.2009 06:16 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    Ahoj, mozna by stacila, ale nemel jsem klid na praci (dve deti) a hlavne bych musel zjistit, k cemu ten oracle decode vlastne slouzi. Pak bych mel sanci. Kazdopadne dekuju, funguje to, druhy priklad uz v explain ma jen ctyri tabulky pouzivajici klice.

    Pokud jde o ty joiny, souhlasim, ze jejich pouziti cini dotazy citelnejsi. Maji jeste nejake dalsi vyhody oproti ekvivalentnim dotazum s podminkami ve where? Treba lepsi vykon? Pak by melo smysl prepsat vsechny SQL dotazy.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    26.11.2009 09:12 kulik
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    Vykon by mel byt stejny, jde jen o ruznou formu zapisu tehoz. Ale samozrejme nelze nikdy uplne vyloucit, ze konkretni stroj se k tomu postavi ruzne, treba kvuli nejakemu bugu apod.
    26.11.2009 09:52 posejdon
    Rozbalit Rozbalit vše Re: slouceni dvou dotazu
    Jde o to, jestli se v tom hrabes sam, nebo to ma nekdy nekdo po tobe louskat. A taky jde o ten zvyk. Znam nektere matadory, kteri join nepouzivaji, ale na druhou stranu si pomahaji treba tim, ze ty relacni podminky davaji na prvni misto a jeste je odlisuji od ostatnich tim, ze je pisi cele kapitalkama. Takovy dotaz se uz cte lip, nicmene ten JOIN navic hlida kodera, aby nezapomnel tu vazbu uvest, coz se treba pri spojeni 10 tabulek stane raz dva.

    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.