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

    dnes 13:55 | Nová verze

    Byla vydána nová verze 5.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 12.5.6. Tor na verzi 0.4.8.6.

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Nová verze

    Šifrovací nástroj VeraCrypt v menším vydání 1.26.7 nejen opravuje chyby a aktualizuje podporované algoritmy (podrobnosti v poznámkách vydání), ale také přestává podporovat původní svazky TrueCrypt.

    Fluttershy, yay! | Komentářů: 0
    dnes 09:00 | Pozvánky

    V sobotu 7. října proběhne Maker Faire Liberec, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    včera 23:44 | Komunita

    Ubuntu Summit 2023 proběhne od 3. do 5. listopadu v Rize.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.12.0. Podrobný přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 17:00 | Zajímavý projekt

    Linux ve Scratchi. Ne Linux v linuxové distribuci Linux From Scratch, ale Linux bežící v emulátoru procesoru RISC-V ve vizuálním programovacím jazyce Scratch.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Pozvánky

    Dnes ve 12 hodin začal další ročník CTF (Capture the Flag) soutěže The Catch: "Tentokrát nás kolegové z Forenzní laboratoře zavedou na loď plnou sofistikovaných síťových technologiích, kde soutěžící budou muset zvládnout náročné úkoly. Loď nese jméno našeho skvělého kolegy Josefa Vericha – síťového guru. Tradičně se soutěž koná v říjnu – měsíci kybernetické bezpečnosti."

    Ladislav Hagara | Komentářů: 1
    včera 07:00 | Pozvánky

    Konference LinuxDays 2023 proběhne již tento víkend 7. a 8. října v prostorách Fakulty informačních technologií Českého vysokého učení v Praze (FIT ČVUT). Na programu je spousta zajímavých přednášek a workshopů.

    Ladislav Hagara | Komentářů: 1
    1.10. 22:33 | IT novinky

    Netflix v pátek 29. září odeslal poslední film na DVD (YouTube). Společnost dnes známá jako streamovací služba začala před 25 lety jako půjčovna filmů na DVD. Zákazník si DVD objednal na webových stránkách, odesláno mu ale bylo klasickou poštou. Po zhlédnutí jej vložil do obálky a poslal zpět.

    Ladislav Hagara | Komentářů: 16
    Raději
     (54%)
     (46%)
    Celkem 41 hlasů
     Komentářů: 3, poslední včera 23:31
    Rozcestník

    Dotaz: Mysql scitani podle datumu

    petka avatar 22.6.2010 10:47 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Mysql scitani podle datumu
    Přečteno: 312×
    Zdravim mam v databazi par zaznamu ulozenych jako datum , ip , pocet dat za datum . A potreboval bych vzdy secist data od urciteho data do urciteho . Priklad od datumu 2010-06-01 do 2010-06-20 s tim ze nektere datumy se v db nevyskytuji a to cele vzdy jen pro jednu ip .
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

    Řešení dotazu:


    Odpovědi

    22.6.2010 10:55 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    SUM?
    Heron avatar 22.6.2010 10:56 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu

    Co nějak takto?

    SELECT SUM(`prenos`)
      FROM `tabulka`
      WHERE `ip`=nejakaip AND `datum` BETWEEN 'pocatecnidatum' AND 'konecnedatum';
    petka avatar 23.6.2010 01:00 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Funguje ale s tim ze vystup je 0 , pokud dam umyslne pro kontrolu neexistujici sloupce v tabulce tak NULL . Ve sloupci prenos mam cisla jako bigint . Vysledkem je vsak cislo 0 .
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    23.6.2010 08:46 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Pokud je tam 0 tak za Vámi zadaných podmínek je suma 0.
    Pokud zadáte neexistující sloupec pro kontrolu, tak to vyhodí chybu :), pokud ovšem myslíte, že žádné řádky nevyhovují podmínce, tak ano vrátí to NULL.
    Asi by jste měl ukázat Váš dotaz a strukturu tabulky, lze ji zobrazit pomocí příkazu SHOW CREATE TABLE `tabulka`; a ze tři záznamy, které tabulka obsahuje, třeba pomocí SELECT * FROM `tabulka` LIMIT 3;.
    PS: nepatří to spíše do DB poradny? :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Heron avatar 23.6.2010 08:51 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Nerozumím. SUM nad neexistující sloupcem nemůže MySQL vykonat a musí vrátit chybu. Dej sem celý kód pro vytvoření tabulky a ten dotaz, jak jej máš u sebe.
    petka avatar 23.6.2010 10:05 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Tabulka
    +-------------+------------+------------+-------------+
    | 192.168.0.2 | 2010-06-20 |     631556 | 605978      | 
    | 192.168.0.3 | 2010-06-20 |   45728639 | 1247445708  | 
    | 192.168.0.4 | 2010-06-20 |      56461 | 162260      | 
    | 192.168.0.5 | 2010-06-20 |  772212826 | 35172305602 | 
    | 192.168.0.6 | 2010-06-20 |          0 | 124320      | 
    | 192.168.0.7 | 2010-06-20 |          0 | 124320      | 
    | 192.168.1.2 | 2010-06-20 |    1821936 | 81646996    | 
    | 192.168.0.2 | 2010-06-21 |     620653 | 597616      | 
    | 192.168.0.3 | 2010-06-21 |    9470534 | 162809724   | 
    | 192.168.0.4 | 2010-06-21 |     381980 | 419496      | 
    | 192.168.0.5 | 2010-06-21 | 1083498066 | 49329996906 | 
    | 192.168.0.6 | 2010-06-21 |          0 | 131712      | 
    | 192.168.0.7 | 2010-06-21 |          0 | 131712      | 
    | 192.168.1.2 | 2010-06-21 |     599149 | 7495426     | 
    | 192.168.0.2 | 2010-06-22 |     479106 | 458959      | 
    | 192.168.0.3 | 2010-06-22 |   22005626 | 315926479   | 
    | 192.168.0.4 | 2010-06-22 |    1551534 | 1303148     | 
    | 192.168.0.5 | 2010-06-22 |     762227 | 24682077    | 
    | 192.168.0.6 | 2010-06-22 |      22764 | 102816      | 
    | 192.168.0.7 | 2010-06-22 |          0 | 102816      | 
    | 192.168.1.2 | 2010-06-22 |    4276717 | 29151277    | 
    | 192.168.0.2 | 2010-06-23 |      75194 | 71447       | 
    | 192.168.0.3 | 2010-06-23 |          0 | 16548       | 
    | 192.168.0.4 | 2010-06-23 |          0 | 16632       | 
    | 192.168.0.5 | 2010-06-23 |       1823 | 17898       | 
    | 192.168.0.6 | 2010-06-23 |          0 | 16632       | 
    | 192.168.0.7 | 2010-06-23 |          0 | 16632       | 
    | 192.168.1.2 | 2010-06-23 |    3111516 | 34678239    | 
    +-------------+------------+------------+-------------+
    
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    petka avatar 23.6.2010 10:07 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Dotaz
    SELECT SUM('data_out') FROM rrd_account WHERE ip = '192.168.0.3' AND datum BETWEEN '2010-06-20' AND '2010-06-23'"
    +------+
    |    0 | 
    +------+
    
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    23.6.2010 10:38 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Hledejte dva rozdíly:
    SELECT SUM(`data_out`) FROM rrd_account WHERE ip = '192.168.0.3' AND datum BETWEEN '2010-06-20' AND '2010-06-23'.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    petka avatar 24.6.2010 10:43 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Pokud jde o zpetna uvozovky tak shell bere to co je v uvozovkach jako aktivni promennou ,takze nelze pouzit . Klasicne uvozovky funguji v jinem pripade spravne . Mozna ze jsem zapomel uvest ze prikaz provadim v shellu a ne v php .
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    24.6.2010 10:49 chrono
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    MySQL je úplne jedno, odkiaľ tá požiadavka príde a ` stále znamená niečo iné ako '. ;) (stačí pred znaky ` pridať \)
    Řešení 1× (petka (tazatel))
    petka avatar 24.6.2010 10:47 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Uz to mam hotove , jen kdyby se to nekomu hodilo , tak spravna syntaxe pro shell .
    SELECT SUM(data_out) FROM rrd_account WHERE ip = '192.168.0.3' AND datum BETWEEN '2010-06-20' AND '2010-06-21'
    
    Teda bez uvozovek .
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    24.6.2010 11:06 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Není to "správná syntaxe pro shell", to je jiná syntaxe fungující m.j. i v shellu a má tuším jistá omezení u řetězců obsahujících mezeru. Pokud chcete v shellu syntaxi odpovídající SELECT SUM(`data_out`), musíte zvláštní znak ` escapovat, tedy SELECT SUM(\`data_out\`).
    25.6.2010 09:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Mysql scitani podle datumu
    Sorry, že to tak píšu, ale je to; „plantání košů s baňama“.
    Jak bylo již i napsáno, je třeba rozlišovat co je vlastní SQL dotaz a co je interpretace tím čím to MySQL předávám. To, že „shell“ provádí text mezi `` jako příkaz, je prostě jeho vlastností a je to třeba respektovat.
    Zaměňovat `` za '' je nesmysl, každé mají jiný význam,
    • text mezi `` uvádí názvy sloupců, tabulek, databází a vhodné je, je uvádět vždy, zvláště pokud dobře neznáte MySQL.
      Tento text mezi ``je vždy vyhodnocen jako název tabulky, sloupce atd., bez ohledu jestli obsahuje například mezery či je to rezervované slovo.
    • Text mezi '' je řetězcová konstanta (prostě text), kde znak ' musí být zapsán a jako \'.
    To k čemu došlo, když jste uvozovky zaměnil je, že SUM('data_out') se zpracovalo tak, že text 'data_out' se převedl implicitní konverzí na číslo, což je 0 a SUM(0) = 0

    Takže zápis:
    SELECT SUM(data_out) FROM rrd_account WHERE ip = '192.168.0.3' AND datum BETWEEN '2010-06-20' AND '2010-06-21'
    je jedním z možných, nicméně správnější a hlavně bezproblémovější je:
    SELECT SUM(`data_out`) FROM `rrd_account` WHERE `ip`='192.168.0.3' AND `datum` BETWEEN '2010-06-20' AND '2010-06-21'
    Toliko SQL●
    Pokud máme dotaz a chceme jej vykonat z řádku, musím jej správně zapsat tak, aby opravdu v takové formě prošel k mysql.
    Lze to zapsat různými způsoby např.:
    mysql ... -e "SELECT SUM(\`data_out\`) FROM \`rrd_account\` WHERE \`ip\`='192.168.0.3' AND datum BETWEEN '2010-06-20' AND '2010-06-21'"
    mysql ... -e 'SELECT SUM(`data_out`) FROM `rrd_account` WHERE `ip`'"='192.168.0.3' AND "'`datum`'" BETWEEN '2010-06-20' AND '2010-06-21'"
    
    Ale, že bych označil jen jeden za správný, to bych si netroufl, ale už bych si troufl říct, že váš je samozřejmě funkční, ale není úplně čistý a kdyby někdy v budoucnu vzniklo klíčové slovo například 'IP', mohlo by se stát, že dotaz již nebude funkční nebo také teoreticky by mohl udělat něco jiného.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    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.