abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:33 | IT novinky

    Certifikační autorita Let's Encrypt oznámila svůj záměr co nejdříve ukončit podporu protokolu Online Certificate Status Protocol (OCSP) ve prospěch seznamů Certificate Revocation Lists (CRLs).

    Ladislav Hagara | Komentářů: 0
    dnes 03:44 | Nová verze

    Společnost Meta představila Llama 3.1 (𝕏), tj. nejnovější verzi svého open source velkého jazykového modelu Llama (Wikipedie). K dispozici je ve verzích 8B, 70B a 405B.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Google Chrome 127 byl prohlášen za stabilní. Nejnovější stabilní verze 127.0.6533.72 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 24 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

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

    Vyšlo nové vydání knihy Mastering Emacs. Jedná se o aktualizaci pro Emacs 29. Knihu lze nyní koupit ve slevě, akce trvá do čtvrtka 25. července ráno.

    klifacek | Komentářů: 1
    včera 14:00 | Nová verze

    Nástroje wpa_supplicant (Wikipedie) a související hostapd (Wikipedie) byly vydány v nové verzi 2.11.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Byla vydána nová major verze 1.10.0 rychlého bezeztrátového kompresního algoritmu LZ4 (Wikipedie). Hlavní novinkou je podpora vícevláknového zpracování (multithreading).

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | Zajímavý software

    Byl představen Stremio OS pro Raspberry Pi 5 a 4, tj. operační systém postavený nad LineageOS 21 s multimediálním centrem Stremio. Stremio lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    22.7. 16:33 | Nová verze

    Po půl roce od vydání verze 2.39 byla vydána nová verze 2.40 knihovny glibc (GNU C Library). Přehled novinek v poznámkách k vydání a v souboru NEWS. Opraveno bylo 5 zranitelností (CVE).

    Ladislav Hagara | Komentářů: 0
    22.7. 15:33 | Pozvánky

    GNU Tools Cauldron 2024 proběhne v Praze na Univerzitě Karlově od 14. do 16. září 2024.

    Ladislav Hagara | Komentářů: 0
    21.7. 05:00 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 24.07. S KDE Plasma 6 a spiny LXQt (2.0.0 Qt6) a GNOME (46.3). Vydáno bylo také ROME Plasma6 Wayland ISO. Vývojáři ale nepovažují Wayland za dostatečně vyspělý, aby mohl nahradit X11 pro většinu uživatelů. Linux byl povýšen na verzi 6.10. Přeložen je Clangem.

    Ladislav Hagara | Komentářů: 16
    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: 373×
    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: 26
    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: 45 | 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: 45 | 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: 45 | 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.