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 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

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

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 16
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    6.5. 22:11 | Nasazení Linuxu

    Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 2
    6.5. 13:22 | IT novinky

    Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.

    Ladislav Hagara | Komentářů: 1
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (3%)
     (1%)
     (1%)
     (3%)
    Celkem 556 hlasů
     Komentářů: 26, poslední včera 09:58
    Rozcestník

    Dotaz: Součet hodin po dnech

    28.3.2013 14:56 hodza | skóre: 8 | Olomouc
    Součet hodin po dnech
    Přečteno: 1254×
    Ahoj, potřeboval bych nakopnout s následujícím problémem:

    Mám tabulku několika desítek aut - řekněme:

    CREATE TABLE IF NOT EXISTS `cars` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `registration_number` text CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL,
      `name` text CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

    Která je spojená s tabulkou seznamu jízd (cars.id = car_requests.car_id) - řekněme:

    CREATE TABLE IF NOT EXISTS `car_requests` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `car_id` int(11) NOT NULL COMMENT 'ID auta',
      `date_from` datetime NOT NULL COMMENT 'Datum od',
      `date_to` datetime NOT NULL COMMENT 'Datum do',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;

    Co potřebuji je výstup ve kterém budou uvedeny jednotlivé dny v měsící a ke každému dni bude pro každé auto uvedeno kolik hodin bylo v daný den zapůjčeno. Napadá někoho nějaké jednoduché řešení (čtěte SELECT)?

    Použitá DB je MySQL 5.xx

    Řešení dotazu:


    Odpovědi

    28.3.2013 15:16 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Součet hodin po dnech
    No vzhledem k tomu, že se nemůže překrývat doba zapůjčení, tak je to vceluku jednoduché,
    SELECT 
      DATE(car_requests.date_from), 
      cars.registration_number,
      SUM(TO_SECONDS(car_requests.date_to) - TO_SECONDS(car_requests.date_from)) / (60 * 60)
    FROM 
      cars 
        LEFT JOIN car_requests ON car.id = car_requests.car_id
    GROUP BY 
      1,2
    
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    Řešení 1× (hodza (tazatel))
    29.3.2013 10:05 kaaja | skóre: 24 | blog: Sem tam něco | Podbořany, Praha
    Rozbalit Rozbalit vše Re: Součet hodin po dnech

    Tohle není úplně správně. Když bude auto zapůjčeno více než den, tak to vrátí jen první den a více než 24 hodin a pro další dny to nevrátí nic. Jediné opravdu správné řešení je mít tabulku dnů a s ní to správně spojovat.

    Mohlo by fungovat něco jako (select píšu pouze schématicky, úplně se mi nechce ho ladit a nemá mysql) :

     

    select   
    car_requests.car_id, 
    dny.datum,
       sum (
    min(dny.datum+1, car_requests.date_to) - 
    max(dny.datum, car_requests.date_from)
     )    
    from car_requests 
    inner join dny on dny.datum <= car_requests.date_to and dny.datum + 1 >= car_requests.date_from 
    group by car_requests.car_id, dny.datum
    1.4.2013 12:21 hodza | skóre: 8 | Olomouc
    Rozbalit Rozbalit vše Re: Součet hodin po dnech
    Díky. Prozkoumám. Jinak na ladění db kterou nemám je dobrý např.: http://sqlfiddle.com/
    1.4.2013 12:22 hodza | skóre: 8 | Olomouc
    Rozbalit Rozbalit vše Re: Součet hodin po dnech
    Díky za příspěvek, nicméně tak jak píše kolega dole - není to správně.
    28.3.2013 15:43 kuka
    Rozbalit Rozbalit vše Re: Součet hodin po dnech
    viz http://www.abclinuxu.cz/poradna/databaze/show/373991#7

    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.