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í
×

24.6. 01:23 | Komunita

Phoronix spustil 2017 Linux Laptop Survey. Tento dotazník s otázkami zaměřenými na parametry ideálního notebooku s Linuxem lze vyplnit do 6. července.

Ladislav Hagara | Komentářů: 2
23.6. 22:44 | Nová verze

Po třech měsících vývoje od vydání verze 5.5.0 byla vydána verze 5.6.0 správce digitálních fotografií digiKam (digiKam Software Collection). Do digiKamu se mimo jiné vrátila HTML galerie a nástroj pro vytváření videa z fotografií. V Bugzille bylo uzavřeno více než 81 záznamů.

Ladislav Hagara | Komentářů: 1
23.6. 17:44 | Nová verze

Byla vydána verze 9.3 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab. Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 3
23.6. 13:53 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-06-21 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Z novinek lze zdůraznit IDE Thonny pro vývoj v programovacím jazyce Python a především offline verzi Scratche 2.0. Ten bylo dosud možné používat pouze online. Offline bylo možné používat pouze Scratch ve verzi 1.4. Z nového Scratchu lze ovládat také GPIO piny. Scratch 2.0 vyžaduje Flash.

Ladislav Hagara | Komentářů: 1
22.6. 14:24 | Nová verze

Opera 46, verze 46.0.2597.26, byla prohlášena za stabilní. Nejnovější verze tohoto webového prohlížeče je postavena na Chromiu 59. Z novinek lze zmínit například podporu APNG (Animated Portable Network Graphics). Přehled novinek pro vývojáře na blogu Dev.Opera. Oznámení o vydání zmiňuje také první televizní reklamu.

Ladislav Hagara | Komentářů: 0
22.6. 13:37 | IT novinky

I čtenáři AbcLinuxu před dvěma lety vyplňovali dotazníky věnované Retro ThinkPadu. Nyní bylo potvrzeno, že iniciativa Retro ThinkPad je stále naživu a Lenovo připravuje speciální edici ThinkPadu jako součást oslav jeho 25. výročí.

Ladislav Hagara | Komentářů: 28
22.6. 10:22 | Komunita

Bylo oznámeno, že frontend a runtime programovacího jazyka D bude začleněn do kolekce kompilátorů GCC (GNU Compiler Collection). Správcem byl ustanoven Iain Buclaw.

Ladislav Hagara | Komentářů: 7
21.6. 18:47 | IT novinky
Bulharská firma Olimex je známá jako výrobce kvalitních mini arm desek, u nichž se snaží být maximálně open source. Kromě velké otevřenosti taktéž zaručují dlouhodobou podporu výroby, což je vítáno ve firemním prostředí. Nyní firma ohlásila ESP32-GATEWAY, malou IoT desku s Wifi, Bluetooth, Ethernetem a 20 GPIO porty za 22EUR. Tato malá deska je ořezanou verzí ESP32-EVB.
Max | Komentářů: 21
21.6. 18:00 | Zajímavý článek

LinuxGizmos (v dubnu loňského roku přejmenován na HackerBoards a v lednu letošního roku zpět na LinuxGizmos) zveřejnil výsledky čtenářské ankety o nejoblíbenější jednodeskový počítač (SBC) v roce 2017. Letos se vybíralo z 98 jednodeskových počítačů (Tabulky Google). Nejoblíbenějšími jednodeskovými počítači v letošním roce jsou Raspberry Pi 3 Model B, Raspberry Pi Zero W a Raspberry Pi 2 Model B.

Ladislav Hagara | Komentářů: 0
21.6. 14:22 | Pozvánky

Ne-konference jOpenSpace 2017 se koná od 13. do 15. října 2017 v hotelu Farma u Pelhřimova. Registrace účastníků je nutná. Více informací na stránkách ne-konference.

Zdenek H. | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (31%)
 (1%)
 (9%)
 (44%)
 (9%)
Celkem 837 hlasů
 Komentářů: 65, poslední 1.6. 19:16
    Rozcestník

    Dotaz: Spotřeba vody za období ze stavu vodoměru

    7.10.2014 01:00 pedro
    Spotřeba vody za období ze stavu vodoměru
    Přečteno: 1362×
    Zdravím,

    asi nejsem dost zkušený, problém vypadá triviálně, ale lámu si hlavu s elegantním řešením.

    Mějme tabulku datum date,stav integer. Například:
    1.3.2014 1000
    1.6.2014 1500
    1.9.2014 2100
    
    což je datum a stav vodoměru v daný den. Chci z toho dostat toto:
    1.3.2014-1.6.2014 500
    1.6.2014-1.9.2014 600
    
    tedy kolik se spotřebovalo vody vždy mezi jednotlivými zápisy. Prosím o radu na elegantní řešení v PostgreSQL.

    Díky.

    Řešení dotazu:


    Odpovědi

    Tarmaq avatar 7.10.2014 09:17 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    SELECT s1.datum AS od, s2.datum AS do, s2.stav - s1.stav AS rozdil
    FROM spotreba_vody s1
    CROSS JOIN spotreba_vody s2
    WHERE s1.datum < s2.datum
    
    Na PostgreSQL netestovano, ale melo by to fungovat. Ma to jednu odlisnost, vraci to i rozdil mezi 1.3. a 1.9.
    Don't panic!
    Tarmaq avatar 7.10.2014 09:52 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    SELECT x.od, x.do, s2.stav - s1.stav AS rozdil
    FROM
    (
      SELECT 
        x1.datum AS od
      , (SELECT MIN(x2.datum) FROM spotreba_vody x2 WHERE x2.datum > x1.datum) AS do
      FROM spotreba_vody x1
    ) x
    JOIN spotreba_vody s1 ON s1.datum = x.od
    JOIN spotreba_vody s2 ON s2.datum = x.do
    
    Tohle vrati jen ty dva zaznamy, ale opet nevim, jestli funguje i na postgresu..
    Don't panic!
    7.10.2014 09:36 Tomáš
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru

    Máte dvě možnosti. První méně efektivní se self joinem a druhý lepší s window funkcemi.

    1. select 
        A.dt
        ,min(B.dt)
        ,min(B.val order by B.dt)-A.val 
      from T as A 
      join T as B on A.dt<B.dt 
      group by A.*
      
    2. select 
        A.dt
        ,max(A.dt) over( order by A.dt rows between current row and 1 following)
        ,max(A.val) over( order by A.dt rows between current row and 1 following)-A.val
      from A
      

    Psáno bez jakékoliv kontroly, takže tam budou asi nějaké chybky. Ale jako nápověda je to dostatečné. BTW: Co když není datum unikátní?

    rADOn avatar 7.10.2014 13:45 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    Ta druha varianta se mi libi… umi neco takovyho mysql?
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    7.10.2014 14:11 Tomáš
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    Pokud vím, tak ne. Musel by jste si pomoci cursorem.
    7.10.2014 16:01 pedro
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    Z hlavy (skoro) perfektní, jen na konci zbude řádek, kde je stejné počáteční i koncové datum a nulová spotřeba. Výsledný select tedy vypadá takto:
    select * from
    (
    select
      voda.datum as zacatek
      ,max(voda.datum) over( order by voda.datum rows between current row and 1 following) as konec
      ,max(voda.stav) over( order by voda.datum rows between current row and 1 following)-voda.stav as spotreba
    from myschema.voda
    ) foo
    where zacatek != konec;
    
    Nejedinečné datum s různými stavy vodoměru je blbost, tak přidán constraint (ve skutečnosti je to timestamp, ne datum).

    K dokonalosti ještě chybí ošetřit přetočení či výměnu vodoměru, ale to teď řešit nebudu.
    Řešení 1× (Tarmaq)
    okbob avatar 7.10.2014 11:46 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    Co např.:
    postgres=> select * 
                  from (select mereno, hodnota - lag(hodnota) over (order by mereno) as spotreba 
                           from odecet order by 1) s 
                 where spotreba is not null;
       mereno   | spotreba 
    ------------+----------
     2014-01-06 |      500
     2014-01-09 |      600
    (2 rows)
    
    Kartézákům se pokud možno vyhýbejte - pro větší data to může být docela pomalé, a navíc zápis s window funckcemi je výrazně čitelnější.
    7.10.2014 15:37 pedro
    Rozbalit Rozbalit vše Re: Spotřeba vody za období ze stavu vodoměru
    Moc všem děkuji. Ano, šlo mi hlavně o window funkce, které jsem pro sebe objevil teprve včera ;).

    Kartézákům jsem se chtěl vyhnout, ačkoli v mém případě by to asi nevadilo, protože se jedná skutečně o vodoměr v bytovém domě a asi ho nebudu odečítat častěji než 1x týdně, takže i za léta řádově stovky řádků.

    Tak teď ještě ty window funkce pochopit a naučit se je.

    S vodou není legrace, jeden protékající záchod v domě dokáže udělat na faktuře za vodu opravdu pořádný vítr.

    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.