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 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 1
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 9
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 10
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

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

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (83%)
     (4%)
     (7%)
     (6%)
    Celkem 573 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: postgresql - pomoc s dotazem (alternativa k procedure)

    29.1.2014 10:48 fesz
    postgresql - pomoc s dotazem (alternativa k procedure)
    Přečteno: 487×
    ahoj, laboruji tady s tabulkou:
     level |      full_path      
    -------+---------------------
         2 | {1,154}
         3 | {1,154,199}
         4 | {1,154,199,1037}
         4 | {1,154,199,2385}
         3 | {1,155,2359}
         4 | {1,155,2359,8}
         5 | {1,155,2359,8,1073}
    
    Z ni bych potreboval vydolovat radky:
         2 | {1,154}
         3 | {1,155,2359}
    
    tj. pokud jdu po radcich tabulky tak vysledkem jsou pouze radky kdyz je hodnota sloupce level mensi nez v predchozim radku (+ samozrejme prvni radek). Jedna se o prezentaci stromu v databazi a hledam hlavni uzly z tabulky.

    Napada me snadne reseni proceduralni, jednoduse projdu cyklem celou tabulku a budu porovnavat ten level. To mi prijde ale v databazich prasarna.

    Lze to prosim nejak resit primo dotazem?

    diky

    Řešení dotazu:


    Odpovědi

    Michy avatar 29.1.2014 11:09 Michy | skóre: 11 | Praha
    Rozbalit Rozbalit vše Re: postgresql - pomoc s dotazem (alternativa k procedure)
    To určitě lze jedním dotazem, jen je třeba do té tabulky přidat jeden sloupec, který by jednoznačně definoval pořadí řádků nebo přidat rovnou dva sloupce, jeden by byl unikátní id řádku a druhý by byl odkaz na id předchozího řádku. Jakmile je jednoznačně dané pořadí řádků, tak už není problém dosáhnout požadovaného efektu.
    29.1.2014 11:14 fesz
    Rozbalit Rozbalit vše Re: postgresql - pomoc s dotazem (alternativa k procedure)
    Ta tabulka co jsem posilal je vysledkem nejakych vetsich dotazu a je serazena podle full_path tj. jednoznacne poradi radku je dane. Jakym zpusobem to tedy lze resit?
    Řešení 1× (Michy)
    29.1.2014 11:18 fesz
    Rozbalit Rozbalit vše Re: postgresql - pomoc s dotazem (alternativa k procedure)
    tak uz asi tusim, spojit to pak samo se sebou a pak uz jen porovnavat level zda splnuje zminenou podminku
    29.1.2014 13:27 Pavel Stěhule
    Rozbalit Rozbalit vše Re: postgresql - pomoc s dotazem (alternativa k procedure)
    Selfjoin bude pro větší tabulky dost pomalý - rychlejší může být jednoduchá uložená funkce vracející tabulku - filtrování nad kurzorem nebo pak nějaká alchymie s window funkcemi. Selfjoin tak max pro stovky záznamů.
    29.1.2014 16:01 logik
    Rozbalit Rozbalit vše Re: postgresql - pomoc s dotazem (alternativa k procedure)
    SELECT * FROM (SELECT *, lag(level) over() as prev_level FROM tabulka) mezivysledek WHERE COALESCE(level > prev_level, True)

    Ale nezdá se mi, že to co chceš je to co opravdu chceš. Když budeš mít strom
     1 
    2 2
    Tak budeš chtít opravdu zobrazit jedničku a v případě, že první dvojka bude mít děti, druhou dvojku? To se mi zdá poměrně divným kritériem....

    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.