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

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 2
    včera 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 1
    včera 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

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

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    28.4. 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    28.4. 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 883 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: postgres a maximum z několika sloupečků

    10.3.2006 21:04 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    postgres a maximum z několika sloupečků
    Přečteno: 63×
    zdravím,

    potřeboval bych dostat pro každý záznam jméno sloupce, který má maximální hodnotu z několika dalších: tedy pro každý zázam *lesního porostu* získat jméno *dřeviny*, která se v danném porostu vyskytuje nejčastěji:
    id_porostu | sm | bk | jd | max
    -----------+----+----+----+-----
         1     | 100| 0  | 0  | sm
         2     | 30 | 50 | 20 | bk
         3     | 90 | 5  | 5  | sm
         4     | 30 | 30 | 40 | jd
    ...
    
    nevíte prosím někdo, jak na to, ať už pomocí sql a nebo skriptem?

    dík

    jáchym

    Odpovědi

    10.3.2006 22:24 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: postgres a maximum z několika sloupečků
    jde to , ale dře to:
    import os, string, sys
    
    for line in os.popen("""psql -tA -F " " -d databaze -c "select id_porostu,sm,bo,jd,md,dg,bk,db,js,jv,lp FROM det" """):
        if len(line.split()) == 11:
            #[id,sm,bo,jd,md,dg,bk,db,js,jv,lp] = line.split()
            line=line.split()
            dreviny=[]
            for strom in line:
                dreviny.append(string.atoi(strom))
                
            maximum=max(dreviny[1:])
            result = {
                 dreviny[1]: 'spruce',
                 dreviny[2]: 'pine',
                 dreviny[3]: 'fir',
                 dreviny[4]: 'larch',
                 dreviny[5]: 'douglas',
                 dreviny[6]: 'beach',
                 dreviny[7]: 'oak',
                 dreviny[8]: 'beach',
                 dreviny[9]: 'maple',
                 dreviny[10]: 'oak'
            }[maximum]
            #sys.stdout=sys.stderr
            print """update det set baumart='%s' where id_porostu=%d;\n""" % (result, dreviny[0])
    
    10.3.2006 22:27 secido | skóre: 27
    Rozbalit Rozbalit vše Re: postgres a maximum z několika sloupečků
    Pekne, ale co tak trochu sa zamysliet nad navrhom tabulky?
    11.3.2006 01:24 Pmx
    Rozbalit Rozbalit vše Re: postgres a maximum z několika sloupečků
    Co když budou mít dva sloupce stejný (a nejvyšší) obsah? Jinak ten skript mi přijde docela fuj, snad by to šlo vyřešit přes SQL v nějakém pohledu (view), tzn. přímo do tabulky to vůbec netahat.
    11.3.2006 10:19 barney
    Rozbalit Rozbalit vše Re: postgres a maximum z několika sloupečků
    view? ee

    ale slo by to snad cez pl/pgsql

    11.3.2006 10:41 Jáchym Čepický | skóre: 29 | blog: U_Jachyma
    Rozbalit Rozbalit vše Re: postgres a maximum z několika sloupečků
    Pánové. Díky za vaše rady skutečně nad zlato. Neptal jsem se "čím", ale ptal jsem se "jak". Kdybyste alespoň zveřejnili "hezčí" verzi skriptu (v pythonu začínám).

    Add návrh tabulky .. možná je špatný, ale nic lepšího mě nanapadá. Ostatně nejsem autor, dělám s tím, co jsem dostal.

    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.