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 18:44 | IT novinky

    Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »

    Ladislav Hagara | Komentářů: 3
    včera 16:44 | IT novinky

    Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.

    Ladislav Hagara | Komentářů: 6
    včera 14:44 | Nová verze

    Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.

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

    Vývojáři z Laboratoří CZ.NIC vydali nové verze aplikací Datovka (Datovka 4.29.0, Mobilní Datovka 2.6.2). V případě desktopové verze přibyly možnosti projít všechny uložené zprávy, zkontrolovat časy expirací časových razítek a přerazítkovat datové zprávy, které lze v ISDS přerazítkovat. Novinkou je také možnost vytahovat myší ze seznamu ZFO soubory datových zpráv, tento úkon jde udělat i pomocí tlačítek Ctrl+C. Nová verze Mobilní Datovky přináší jen drobné úpravy.

    VSladek | Komentářů: 0
    7.4. 21:55 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.

    Ladislav Hagara | Komentářů: 0
    7.4. 10:22 | Komunita

    Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání

    … více »
    Ladislav Hagara | Komentářů: 9
    6.4. 05:33 | Pozvánky

    Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout

    … více »
    bkralik | Komentářů: 3
    5.4. 23:33 | Nová verze

    Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.

    Ladislav Hagara | Komentářů: 1
    5.4. 23:00 | Zajímavý projekt

    VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.

    NUKE GAZA! 🎆 | Komentářů: 8
    5.4. 05:22 | Zajímavý software

    Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 20
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (1%)
     (14%)
     (24%)
    Celkem 1246 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Postgre a mazání duplicit pomocí common table expressions

    2.11.2010 08:06 jeleniste | skóre: 13 | blog: Prokustovo lože
    Postgre a mazání duplicit pomocí common table expressions
    Přečteno: 390×
    Mám následující problém: Na MSSQL s úspěchem používám: ; with cte as ( select *, row_number() over(order by id, partition by id, a, b, c) pid from table )

    delete from cte where pid!=0;

    --finta obslehnuta z netu, zdroj si nepamatuju

    Je to idealni na odstaraneni dupli zaznamu (napriklad opakovane spusteny insert) Na postgre mi to nefunguje, nechce me dovolit mazat z cte

    Pominme, ze mam mit v tabulce Pk, kterej mi nedovoli vlozit 2X tyz zaznam a ze nejdou veci takhle prenaset mezi ruznejma SQL serverama.

    Jde to nejak obejít, dá se v pg nejak mazat z cte??

    Dík Je.
    Nejsem blbý, jen se hloupě ptám

    Řešení dotazu:


    Odpovědi

    2.11.2010 08:20 jos
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    ještě to tam přijoinovat?
    with cte as (
      select id, row_number() over(order by id, partition by id, a, b, c) pid
      from table
    )
    delete t
    from table as t
    inner join cte on cte.id = t.id
    where pid <> 0;
    
    btw to cte je tam zbytečný
    delete t
    from table as t
    inner join (
      select id, row_number() over(order by id, partition by id, a, b, c) pid
      from table
    ) as x on x.id = t.id
    where x.pid <> 1
    
    2.11.2010 09:21 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    Bezva, dík za snahu.

    Chm, jestli to chápu, tak si moc nepomůžu, u dupli záznamů je id furt to samý, tj, když to připojim, tak ty záznamy smáznu oba. Tudy cesta nevede.

    Je.
    Nejsem blbý, jen se hloupě ptám
    2.11.2010 09:37 jos
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    jo aha, sorry, to mi nedošlo
    2.11.2010 09:43 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    V poho, nepustil sem to do vostrejch dat :)
    Nejsem blbý, jen se hloupě ptám
    2.11.2010 10:30 jos
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    V poho, nepustil sem to do vostrejch dat :)
    bez rollbacku ani ránu )

    druhej pokus:
    delete t
    from table as t
    inner join (
      select id, row_number() over(order by id, partition by id, a, b, c) pid
      from table
    ) as x on x.id = t.id
    inner join (
      select id, row_number() over(order by id, partition by id, a, b, c) pid
      from table
    ) as y on y.id = x.id and y.pid < x.pid
    where y.pid <> 0
    
    za předpokladu, že databáze ví který (fyzický) záznamy to vlastně joinuje (na MSSQL se mi to experimentálně potvrdit nepodařilo, ale asi dělam něco blbě)

    takže řešením (bez OIDů a CTIDů) by bylo přidat soupec, oupdatovat pomocí ROW_NUMBER a pak nemazat nejnižší hodnotu
    2.11.2010 10:49 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    takže řešením (bez OIDů a CTIDů) by bylo přidat soupec, oupdatovat pomocí ROW_NUMBER a pak nemazat nejnižší hodnotu

    Mě použití OIDů a CTIDů nevadí. Celej prblm se točí kolem unikátního označení záznamu, který v MSSQL neni. Na tom řešení s cte je elegantní, právě to, že se žádnej sloupec nemusí přidávat, tim, že se maže z CTE. Já bych opustil prblm s duplicitama, způsobů, jak ho pořešit, je evidentně celá přehršel. Spíš mě zajímá rozdíl v možnostech CTE v POSTGRESQL a MSSQL, konkrétně proč to v tom POSTGRE nejde, jde někde povolit v POSTGRE mazání z CTE?? Tenhle konkrétní příklad je v zásadě blbej, protože v podstatě jde o sofistikované řešení prblmu, kterej se na Postgre nevyskytuje, protože má unikátně identifikovatelný řádky sám o sobě.

    Nicméně mazání z CTE mi přijde jako poměrně elegantní fičura, která má i jiný využití, než mazání duplicit.

    Je.
    Nejsem blbý, jen se hloupě ptám
    2.11.2010 09:11 jeleniste | skóre: 13 | blog: Prokustovo lože
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    našel jsem řešení tady http://www.postgres.cz/index.php/PostgreSQL_SQL_Tricks#Removing_of_duplicate_rows

    nicméně by mě stejně zajímalo, jak je to s tim CTE.
    Nejsem blbý, jen se hloupě ptám
    okbob avatar 2.11.2010 21:38 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Postgre a mazání duplicit pomocí common table expressions
    DML operace z CTE budou podporovany v 9.1.

    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.