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 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 3
    27.2. 17:33 | IT novinky

    Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.

    Ladislav Hagara | Komentářů: 13
    27.2. 13:00 | IT novinky

    Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).

    Ladislav Hagara | Komentářů: 13
    27.2. 12:44 | IT novinky

    Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.

    Ladislav Hagara | Komentářů: 20
    27.2. 12:11 | Zajímavý článek

    Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou

    … více »
    karkar | Komentářů: 8
    27.2. 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    26.2. 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

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

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 6
    26.2. 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 10
    26.2. 03:44 | Komunita

    Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 974 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky

    8.4.2015 19:07 Jiri Tomasek
    Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Přečteno: 702×
    Ahoj,

    predstavme si, ze mame tuto sql tabulku:
    
    identifikator skore
    a 13
    a 12
    a 15
    a 14
    b 3
    b 5
    b 7
    
    chci ji transformovat na tabulku, kde budou ponechany max 3 radky pro kazdy identifikator, ktere maji nejvetsi skore. Tedy aby "a 12" bylo vyfiltrovano. Jde to nejak jednoduse?

    (BTW Proc to chci: potrebuji totiz prumer 3 nejvetsich skore pro kazdy identifikator. Ano, to by asi slo primo pres nejakou agregacni funkci, ale ta defaultne nejspis neexistuje. Proto zkousim tabulku nejdrive vyfiltrovat a pak je to snadne.)

    Řešení dotazu:


    Odpovědi

    Řešení 1× (karl82)
    okbob avatar 8.4.2015 19:51 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Technik jak tento problém vyřešit je několik, jeden z nejjednodušších je použití window funkce:
    postgres=> select * from t;
     x | y  
    ---+----
     a | 13
     a | 12
     a | 15
     a | 14
     b |  3
     b |  5
     b |  7
    (7 rows)
    
    postgres=> select x,y from (select rank() over(partition by x order by y desc), x, y from t) s where rank <= 3;
     x | y  
    ---+----
     a | 15
     a | 14
     a | 13
     b |  7
     b |  5
     b |  3
    (6 rows)
    
    Je to dobrá úloha na naučení se trochu netriviálního SQL (naučit se všechny varianty).
    okbob avatar 8.4.2015 19:53 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Jinak přes agregační funkce by to vyřešit nešlo - ty agregují nikoliv filtrují.
    9.4.2015 11:43 Jiri Tomasek
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Uzasny! Diky za rozsireni obzoru.

    Agregacni funkce - myslel jsem napsat si vlastni, neco jako
    
    SELECT id, PRUMER_NEJVSSICH_TRI(skore) GROUP BY id;
    
    okbob avatar 9.4.2015 12:20 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    agregacni funkce vraci skalarni (jednu) hodnotu - takze to z principu nejde. Ale mozna je to o terminologii - mozna jste mel na mysli window funkce :)
    9.4.2015 13:01 Jiri Tomasek
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Jasne, vsak PRUMER_NEJVYSSICH_TRI() prece je skalarni hodnota :-)

    Jen jsme si asi nerozumeli, ta agregacni funkce by vyresila trochu jiny problem nez filtrovani - viz text za BTW v puvodni otazce.
    okbob avatar 9.4.2015 17:59 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Aha, to jsem si neprecetl pozorne otazku. Pak by to slo.
    17.4.2015 14:17 rich
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    agregaci muzes pouzit primo v dotazu... netreba vytaret dalsi funkce
    4.5.2015 18:51 Chobotnice
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Pokud se to skore ma opakovat, chces asi spis dense rank nez rank.
    Josef Kufner avatar 20.4.2015 15:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    Dá se to naprasit pomocí několika subselectů:
    SELECT t1.id, (
      SELECT AVG(t2.skore)
      FROM (
        SELECT t3.skore
        FROM t AS t3
        WHERE t3.id = t1.id
        ORDER BY t3.skore DESC
        LIMIT 3
      ) AS t2
    ) AS prumer_3_nejvyssich
    FROM t as t1
    GROUP BY t1.id
    ORDER BY t1.id
    Hello world ! Segmentation fault (core dumped)
    21.4.2015 09:49 Jiri Tomasek
    Rozbalit Rozbalit vše Re: Postgres: filtrovani na zaklade vztahu mezi jednotlivymi radky
    No vida, to je taky hezky reseni :)

    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.