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 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 3
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 1
    včera 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    13.1. 21:33 | Nová verze

    Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.

    Ladislav Hagara | Komentářů: 5
    13.1. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    13.1. 13:22 | Humor

    Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.

    NUKE GAZA! 🎆 | Komentářů: 11
    13.1. 12:00 | IT novinky

    Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 13
    13.1. 00:55 | IT novinky

    Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po

    … více »
    Ladislav Hagara | Komentářů: 22
    13.1. 00:44 | IT novinky

    Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (45%)
    Celkem 430 hlasů
     Komentářů: 12, poslední včera 21:12
    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: 1278×
    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.