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 23:44 | Komunita

Několik posledních verzí GNOME Shellu obsahuje chybu způsobující memory leak (únik paměti). Viz například videozáznamy verzí 3.26 nebo 3.28. Nalezení chyby #64 a její opravě se věnuje Georges Basile Stavracas Neto v příspěvku na svém blogu [reddit].

Ladislav Hagara | Komentářů: 0
včera 10:33 | Komunita

V pondělí měl na YouTube online premiéru otevřený krátký 2D film Hero vytvořený v 3D softwaru Blender. Cílem stejnojmenného projektu Hero je vylepšit nástroj Grease Pencil (tužka) v Blenderu 2.8.

Ladislav Hagara | Komentářů: 3
20.4. 23:22 | Nová verze

Byla vydána verze 4.0 kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Přehled novinek v Changelogu (GitHub).

Ladislav Hagara | Komentářů: 0
20.4. 17:22 | Komunita

Včera vydanou hru Rise of the Tomb Raider pro Linux lze do pondělí 23. dubna koupit na Steamu s 67% slevou. Místo 49,99 € za 16,49 €.

Ladislav Hagara | Komentářů: 0
20.4. 16:11 | Komunita

Na Humble Bundle lze získat počítačovou hru Satellite Reign (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 5
20.4. 15:44 | Zajímavý software

Společnost Apple koupila před třemi lety společnost FoundationDB vyvíjející stejnojmenný NoSQL databázový systém FoundationDB (Wikipedie). Včera byl tento systém uvolněn jako open source pod licencí Apache 2.0. Zdrojové kódy jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 0
20.4. 15:00 | Nová verze

Po dva a půl roce od vydání verze 5.7 oznámila společnost Oracle vydání nové major verze 8.0 (8.0.11) databázového systému MySQL (Wikipedie). Přehled novinek v poznámkách k vydání. Zdrojové kódy komunitní verze MySQL jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 2
19.4. 14:44 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 151. brněnský sraz, který proběhne v pátek 20. 4. od 18:00 hodin v restauraci Benjamin na Drobného 46.

Ladislav Hagara | Komentářů: 0
19.4. 13:33 | Nová verze

Byla vydána verze 18.04.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi.

Ladislav Hagara | Komentářů: 0
19.4. 13:11 | Nová verze

Bylo oznámeno vydání nové stabilní verze 1.26 a beta verze 1.27 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
Používáte na serverech port knocking?
 (3%)
 (7%)
 (46%)
 (27%)
 (17%)
Celkem 342 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    Dotaz: MySQL názvy sloupců ve výsledku dotazu

    15.1.2015 11:30 Terka | skóre: 13
    MySQL názvy sloupců ve výsledku dotazu
    Přečteno: 291×
    zdrojová data:
    DATE	      HK      IN	MY
    2015-01-15    1028    1279	1569
    
    ráda bych dostala selectem všechny sloupce, které mají hodnotu větší než 1200, tj. IN, MY
    Je toto řešitelné?
    Díky!
    

    Řešení dotazu:


    Odpovědi

    15.1.2015 11:37 DarkKnight | skóre: 25
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Dotazy v sql jsou vzhledem k radkum, tj muzes ziskat radek, kde nektera z hodnot ma vetsi hodnotu nez 1200. Nasledne to muzes filtrovat v aplikaci (abys zjistila, o ktery sloupec jde), nebo muzes mit tri rozdilne query (jednu pro kazdy sloupec).
    15.1.2015 11:46 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Díky za odpověď, bohužel mi moc nepomohla:
    Ráda bych to toťiž vyřešila na úrovni MySQL.
    A to dynamicky, aby query nezáviselo na názvech sloupců.
    Díky.
    Řešení 1× (Tarmaq)
    15.1.2015 11:52 Kit | skóre: 41 | Brno
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    SELECT DATE, HK AS value FROM table WHERE value>1200
    UNION ALL
    SELECT DATE, `IN` AS value FROM table WHERE value>1200
    UNION ALL
    SELECT DATE, MY AS value FROM table WHERE value>1200
    
    Délka dotazu je daní za chybnou normalizaci databáze.

    Doporučuji psát názvy sloupců malými písmeny.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.1.2015 12:12 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Ano, návrh je špatný. 
    Šlo by v mysql něco jako:
    
    for i in (select country from country) do
    select i AS value FROM table WHERE value>1200
    done
    
    Cílem je dostat jednotlivé země a dál je použít v dalším query.
    Tarmaq avatar 15.1.2015 12:21 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Neco podobneho by se dalo vyresit v procedure pomoci kurzoru, ale opravdu stejne jako Kit doporucuju normalizaci databaze. Jednim z benefitu by bylo zajisteni integrity dat.
    Don't panic!
    15.1.2015 13:42 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    A jak konkrétně by to šlo?
    Tarmaq avatar 15.1.2015 15:09 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    bohuzel nemam zadnou mysql db po ruce, ale melo by to jit nejak takto:
    1. Prochazet kurzorem zaznamy v tabulce countries (viz dokumentace)
    2. V kazde iteraci si splacat SQL kde bude nazev vybraneho sloupce tvoren kodem iterovane zeme
    3. Takto vytvorene sql spustit a pokud bude hodnota vetsi nez 1200, pridat ho do docasne tabulky
    4. Na konci procedury vratit obsah docasne tabulky
    PS: co brani normalizaci databaze?
    Don't panic!
    15.1.2015 16:31 Terka | skóre: 13
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Tak mam reseni 
    select column_name
      from information_schema.columns 
     where table_schema ....
       and table_name = 
       and column_name !='DATE'
    
    
    >PS: co brani normalizaci databaze? 
    Aplikace co funguje a je pro me mnohem jednodussi upravit kousek nez predelavat vetsi kus.
    Kdyz bude cas tak treba jednou.
    
    Diky za pomoc, ty kurzory by me zajimaly jak by to query vypadalo..
    
    15.1.2015 16:38 Kit | skóre: 41 | Brno
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Klasická reflexe. Vypadá to dobře.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.1.2015 16:34 Kit | skóre: 41 | Brno
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    Ono to jde i reflexí
    DESCRIBE table;
    a pak iterovat s vynecháním sloupce DATE. Ovšem je to hnus.

    Normalizaci brání zřejmě fakt, že tu tabulku dělal někdo jiný a Terka z toho jen potřebuje vyzobat data. Už jsem před podobnou záležitost byl postaven a pokud do toho systému jiný proces sype data, tak zákazníka ke změně struktury donutíš jen stěží.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    19.1.2015 11:53 Štefan
    Rozbalit Rozbalit vše Re: MySQL názvy sloupců ve výsledku dotazu
    .. teda nevím jak tomu zadání rozuměli ostatní tady, ale já bych to viděl takto:

    select * from TABULKA where IN>1200 or MY>1200;

    "*" lze zaměnit za výčet potřebných sloupců

    "TABULKA" zaměnit za váš název tabulky

    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.