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 02:11 | Pozvánky

    Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.

    … více »
    Heřmi | Komentářů: 0
    včera 21:33 | Nová verze

    Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.

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

    Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.

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

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2024 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 2. a 3. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 07:00 | Komunita

    Ubuntu oslavilo 20 let. První Ubuntu 4.10 s kódovým názvem Warty Warthog bylo vydáno 20. října 2004.

    Ladislav Hagara | Komentářů: 1
    20.10. 04:44 | Nová verze

    Vizuální programovací jazyk MicroBlocks určený pro programování mikropočítačů jako micro:bit pomoci bloků byl vydán v nové verzi 2.0. MicroBlocks je inspirovaný Scratchem.

    Ladislav Hagara | Komentářů: 0
    18.10. 22:44 | IT novinky

    Mapy.cz zavádí placenou verzi Premium (𝕏). Cena předplatného bude zveřejněna v další verzi aplikace (𝕏). Aplikace i web budou dál fungovat zdarma. Mění se způsob ukládání offline map. Nově bude možné bezplatně uložit offline mapu pouze jednoho státu (𝕏).

    Ladislav Hagara | Komentářů: 33
    18.10. 11:44 | Nová verze

    Byla vydána nová verze 8.10 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Pravděpodobně poslední osmičková verze. V průběhu několika měsíců by měla vyjít verze 9.

    Ladislav Hagara | Komentářů: 0
    18.10. 04:22 | Pozvánky

    O víkendu 19. a 20. října lze na brněnském výstavišti v pavilonu A1 navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, "festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí", a GameDev Connect, "akci určenou pro všechny současné a hlavně budoucí herní vývojáře, kteří touží proniknout do jednoho z nejúžasnějších průmyslů na světě".

    Ladislav Hagara | Komentářů: 0
    18.10. 00:33 | Nová verze

    Asterisk (Wikipedie), svobodná softwarová implementace telefonní ústředny (PBX), byl vydán ve verzi 22.0.0. Přehled novinek v této nové major verzi v oznámení na webu a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    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: 72×
    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.