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:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    22.4. 13:33 | IT novinky

    Společnost SpaceX amerického miliardáře Elona Muska oznámila, že si zajistila opci buď na akvizici startupu Cursor za 60 miliard dolarů (přes 1,2 bilionu Kč) do konce letošního roku, nebo na zaplacení deseti miliard dolarů za nové partnerství s touto firmou zabývající se generováním kódů. SpaceX se dále prosazuje na lukrativním trhu s vývojářskými nástroji pro umělou inteligenci (AI). Cursor, startup zabývající se prodejem modelů AI pro

    … více »
    Ladislav Hagara | Komentářů: 2
    22.4. 13:11 | Komunita

    Díky AI modelu Claude Mythos Preview od společnost Anthropic bylo ve Firefoxu nalezeno a opraveno 271 zranitelností.

    Ladislav Hagara | Komentářů: 6
    22.4. 04:44 | Nová verze

    Byla vydána nová verze 2.54.0 distribuovaného systému správy verzí Git. Přispělo 137 vývojářů, z toho 66 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    22.4. 04:33 | 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 13.0. Přehled novinek v aktualizované dokumentaci a na YouTube. Stalo se tak na konferenci GrafanaCON 2026.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1395 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: SQL napric tabulkami a sloupci

    2.5.2015 17:27 luksyk
    SQL napric tabulkami a sloupci
    Přečteno: 626×
    dobry den,

    mam nekolik tabulek v MySQL jejichz obsah je zhruba tento:
    | ID | VALUE1 | VALUE2 | VALUE3 |
    | 1  | a1     | a10    | a5     |
    | 2  | a11    | a3     | a40    |
    | 3  | a66    | a13    | a0     |
    
    a ted bych rad vybral vsechny zaznamy, ktere obsahuji pismeno "a" a mel je serazene (idealne natural sort, ale netrvam na tom) a to tak, aby vysledek vypadal nejak takto:
    | ID | VALUE  |
    | 3  | a0     |
    | 1  | a1     |
    | 2  | a3     |
    | 1  | a5     |
    | 1  | a10    |
    | 2  | a11    |
    | 3  | a13    |
    | 2  | a40    |
    | 3  | a66    |
    
    zatim to delam hloupe tak, ze to vyhledavam separe a pak to sortuju v PHP. zajima mne, jestli lze sestavit SQL dotaz, ktery by to sam zvladnul

    dekuji.

    Odpovědi

    2.5.2015 17:55 jekub
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Ano, rika se tomu join
    2.5.2015 17:57 jekub
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    sory, beru zpet. Neprecetl sem si poradne dotaz.
    2.5.2015 18:00 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Použij UNION ALL
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.5.2015 23:42 Tomáš
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci

    select
      T.ID
      ,case E.VAL
         when 'VALUE1' then T.VALUE1
         when 'VALUE2' then T.VALUE2
         when 'VALUE3' then T.VALUE3
       end as VALUE
    from T
    cross join razdvatri as E
    order by VALUE
    
    tabulka razdvatri vypadá následovně:
    'VAL'
    ----
    VALUE1
    VALUE2
    VALUE3
    

    Stačí si uvědomit, že jeden zdrojový řádek se roznásobí na tři cílové. Jakým trikem si tabulku razdvatri vyrobíte je na vás.

    Sort je jen třešinka na dortu.

    Další varinata je udělat union ze tří selectů {VALUE1,VALUE2,VALUE3}, ale to znamená sjíždět tabulku T 3× což asi nebude úplně optimální. Paradoxně join na třířádkouvou tabulku razrazdvatři, pravděpodobně vyjde z rychlostně lépe.

    xkucf03 avatar 2.5.2015 23:44 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    SELECT * FROM (
        SELECT id, value1 AS value FROM tabulka WHERE value1 LIKE '%a%'
        UNION ALL
        SELECT id, value2 AS value FROM tabulka WHERE value2 LIKE '%a%'
        UNION ALL
        SELECT id, value2 AS value FROM tabulka WHERE value2 LIKE '%a%'
    ) AS t ORDER BY t.value
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    3.5.2015 09:03 Filip Jirsák
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Pokud potřebujete dělat takovéhle dotazy a dávají smysl, pak to především vypadá, že máte špatně navrženou strukturu databáze. Že by ta tabulka měla vypadat takhle nějak:
    | ID | TYPE  | VALUE |
    | 1  | VALUE1| a1    |
    | 1  | VALUE2| a10   |
    | 1  | VALUE3| a5    |
    | 2  | VALUE1| a11   |
    | 2  | VALUE2| a3    |
    | 2  | VALUE3| a40   |
    | 3  | VALUE1| a66   |
    | 3  | VALUE2| a13   |
    | 3  | VALUE3| a0    |
    
    Pak by i ten vámi požadovaný dotaz byl triviální.
    3.5.2015 10:19 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    EAV má zase nevýhody ve spoustě jiných typů dotazů.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 4.5.2015 15:58 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Z praktické zkušenosti mohu říct, že nevýhody značně převažují. Než EAV je lepší mít dynamickou strukturu databáze a nechat aplikaci si upravovat vybrané tabulky. Druhá možnost je JSON a serializace z pohledu databáze nepodstatných údajů do jednoho sloupce. Záleží na situaci.
    Hello world ! Segmentation fault (core dumped)
    4.5.2015 18:32 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Nebo použít PostgreSQL a hstore.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    4.5.2015 16:34 Filip Jirsák
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    Není jisté, že jde o EAV – je možné, že to vzniklo až zjednodušením pro dotaz v poradně. Vzhledem k tomu, jaký požaduje tazatel výstup, bych spíš tipoval, že o EAV nejde (požadovaný výstup by pak nedával moc smysl).
    Josef Kufner avatar 4.5.2015 15:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: SQL napric tabulkami a sloupci
    SQL neumí pracovat s proměnlivým počtem sloupců. Viděl bych to na nešikovně navrženou databázi, ale pokud jinak dává smysl, tak řešením je UNION selectů nad jednotlivými sloupci (jak už zde bylo řečeno).
    Hello world ! Segmentation fault (core dumped)

    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.