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 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

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

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 35
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 17
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 11
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (45%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (16%)
     (15%)
    Celkem 183 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: řádky s max hodnotou

    15.1.2013 21:13 Mike
    řádky s max hodnotou
    Přečteno: 511×
    Ahoj všem

    potřebuji vrátit řádky (Stačí id) s nejvyšším datumem pro každý stroj

    id |stroj |opraven
    1 pluh 1.1.2001
    2 lopata 5.2.2001
    3 pluh 3.3.2001
    4 vidle 3.3.2001
    by mělo vrátit
    2
    3
    4

    Řádek s id 1 chybí, protože pro pluh má řádek 3 vyšší datum
    Prosím o pomoc s tvorbou dotazu

    Mike

    Řešení dotazu:


    Odpovědi

    15.1.2013 22:31 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
    Rozbalit Rozbalit vše Re: řádky s max hodnotou

    Ahoj

    Pokud to ma byt v SQL, tak potrebujes max() (a k nemu samozrejme group by)

    Dejv

    Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
    16.1.2013 09:05 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
    Rozbalit Rozbalit vše Re: řádky s max hodnotou
    create table t
    (
        id number not null,
        stroj varchar2(10) not null, -- FK?
        opraven date not null
    );
    
    insert into t values (1, 'pluh', sysdate-10);
    insert into t values (2, 'lopata', sysdate);
    insert into t values (3, 'pluh', sysdate);
    insert into t values (4, 'vidle', sysdate);
    
    commit;
    
    select * from t;
    
    ID STROJ  OPRAVEN
    == ====== ===================
    1  pluh   2013-01-06 07:52:45
    2  lopata 2013-01-16 07:52:53
    3  pluh   2013-01-16 07:52:54
    4  vidle  2013-01-16 07:52:54
    
    select id
        from (select id, row_number() over (partition by stroj order by opraven desc) as r
                  from t)
        where r = 1;
    
    ID
    ==
    2 
    3 
    4 
    

    zbytek si dohledej za domácí úkol. Včetně ošetření toho, co by se stalo kdybys měl stejné maximální datum ve více řádcích jednoho stroje...
    Kuolema Kaikille (Paitsi Meille).
    Josef Kufner avatar 17.1.2013 13:22 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: řádky s max hodnotou
    Získat max datu je lehké (max a group by), získat ostatní sloupce na takovém řádku už vyžaduje trošku kouzlení. Asi nejjednodušší je pak udělat join sama se sebou podle data a toho, co jsi dal do group by.

    Tedy něco takového:
    SELECT t.*
    FROM (SELECT stroj, MAX(opraven) as max_opr FROM tabulka GROUP BY stroj) AS m
    LEFT JOIN tabulka AS t ON t.stroj = m.stroj AND t.opraven = m.max_opr
    
    Pokud ale jde o nějaké netriviální množství dat, raději bych si přidal do tabulky strojů sloupec s datem poslední opravy, který by byl vypočítáván podle obsahu tabulky s opravami.
    Hello world ! Segmentation fault (core dumped)
    17.1.2013 19:47 díky
    Rozbalit Rozbalit vše Re: řádky s max hodnotou
    Omlouvám se za pozdní reakci, byl jsem mimo net. Ale to hlavní je, že tohle řešení mi dokonale splňuje požadavky.

    Moc děkuji

    Mike

    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.