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

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 05:55 | IT novinky

    Organizace Open Container Initiative (OCI) (Wikipedie), projekt nadace Linux Foundation, vydala Runtime Specification 1.3 (pdf), tj. novou verzi specifikace kontejnerového běhového prostředí. Hlavní novinkou je podpora FreeBSD.

    Ladislav Hagara | Komentářů: 1
    včera 11:33 | IT novinky

    Nový open source router Turris Omnia NG je v prodeji. Aktuálně na Allegro, Alternetivo, Discomp, i4wifi a WiFiShop.

    Ladislav Hagara | Komentářů: 23
    včera 05:44 | Komunita

    Na YouTube a nově také na VHSky byly zveřejněny sestříhané videozáznamy přednášek z letošního OpenAltu.

    Ladislav Hagara | Komentářů: 1
    včera 04:33 | Komunita

    Jednou za rok otevírá společnost SUSE dveře svých kanceláří široké veřejnosti. Letos je pro vás otevře 26. listopadu v 16 hodin v pražském Karlíně. Vítáni jsou všichni, kdo se chtějí dozvědět více o práci vývojářů, prostředí ve kterém pracují a o místní firemní kultuře. Můžete se těšit na krátké prezentace, které vám přiblíží, na čem inženýři v Praze pracují, jak spolupracují se zákazníky, partnery i studenty, proč mají rádi open source a co

    … více »
    SUSEMAS | Komentářů: 3
    včera 04:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Zajímavý článek

    Jeff Quast otestoval současné emulátory terminálu. Zaměřil se na podporu Unicode a výkon. Vítězným emulátorem terminálu je Ghostty.

    Ladislav Hagara | Komentářů: 11
    3.11. 22:55 | IT novinky

    Amazon bude poskytovat cloudové služby OpenAI. Cloudová divize Amazon Web Services (AWS) uzavřela s OpenAI víceletou smlouvu za 38 miliard USD (803,1 miliardy Kč), která poskytne majiteli chatovacího robota s umělou inteligencí (AI) ChatGPT přístup ke stovkám tisíc grafických procesů Nvidia. Ty bude moci využívat k trénování a provozování svých modelů AI. Firmy to oznámily v dnešní tiskové zprávě. Společnost OpenAI také nedávno

    … více »
    Ladislav Hagara | Komentářů: 8
    3.11. 16:22 | Pozvánky

    Konference Prague PostgreSQL Developer Day 2026 (P2D2) se koná 27. a 28. ledna 2026. Konference je zaměřena na témata zajímavá pro uživatele a vývojáře. Příjem přednášek a workshopů je otevřen do 14. listopadu. Vítáme témata související s PostgreSQL či s databázemi obecně, a mohou být v češtině či angličtině.

    TomasVondra | Komentářů: 0
    3.11. 13:22 | Nová verze

    Byl vydán Devuan 6 Excalibur. Přehled novinek v poznámkách k vydání. Kódové jméno Excalibur bylo vybráno podle planetky 9499 Excalibur. Devuan (Wikipedie) je fork Debianu bez systemd. Devuan 6 Excalibur vychází z Debianu 13 Trixie. Devuan 7 ponese kódové jméno Freia.

    Ladislav Hagara | Komentářů: 4
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (18%)
     (17%)
     (22%)
     (15%)
     (21%)
     (16%)
     (16%)
    Celkem 315 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Select v tabulce s random vystupem

    31.7.2008 12:27 Rover | skóre: 10
    Select v tabulce s random vystupem
    Přečteno: 589×
    Ahoj,

    mám tabulku napriklad data se dvemi sloupci a jejich daty:
    select * from data;
    +----------+----------+
    | sloupecA | sloupecB |
    +----------+----------+
    |        1 | 11       |
    |        2 | 22       |
    |        3 | 33       |
    |        4 | 44       |
    |        5 | 55       |
    +----------+----------+
    
    Potřebuji napsat select tak, aby mi vystup ze sloupce A nahodne promýchal (případně sloupec B také).

    příkaz "select * from data order by rand();" promýchá komplet všechny řádky, ale já bych je potřeboval mít i mezi sloupci promíchané... Jak na to?

    Odpovědi

    31.7.2008 12:52 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    tomu nerozumiem, chces aby bol sloupecA/sloupecB nahodne vpravo/vlavo?
    31.7.2008 12:58 Rover | skóre: 10
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    Ne e... potrebuji data v nich jen prohazet ... treba vystup takto:
    +----------+----------+
    | sloupecA | sloupecB |
    +----------+----------+
    |        2 | 44       |
    |        4 | 33       |
    |        1 | 55       |
    |        5 | 11       |
    |        3 | 22       |
    +----------+----------+
    
    staci mi prohazet jen jeden sloupec...
    31.7.2008 13:02 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    no to podla mna nepojde uz z principu.
    DB vracia zaznamy - zaznam = riadok takze ten vystup selectu musis prehadzat dodatocne...
    31.7.2008 13:09 Rover | skóre: 10
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    Mě napadlo, jestli neexistuje výstup složený ze dvou selectu:

    "select sloupecA from data order by rand()" a "select sloupecB from data order by rand()"
    31.7.2008 13:08 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    riadok s hodnotami "A = 2, B = 44" predsa u vás neexistuje.
    order by triedi riadky, t.j. povie, kde sa má nachádzať kombinácia "2, 22".

    ak vám nevadí karteziánsky súčin, tak:

    select a.a, b.b from tab a, tab b order by random ()
    31.7.2008 13:20 Rover | skóre: 10
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    no... trochu to vadi, jelikož se nemusi jednat o INT ... ale klidne VARCHAR...

    Napadlo mě to udělat přes import do jine tabulky po sloupcich vzhledem k unikatnimu klici, ale problem je, že se jedna o víc jak 10 000 000 řádků...
    31.7.2008 13:27 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    karteziánskemu súčinu typ nevadí ... naštudovať trochu teórie by nezaškodilo :-)
    v prípade takto veľkých tabuliek si radšej vytvorte tie tmp tabuľky (create table a (id serial, refid int); insert into a (refid) select id from table order by random (), dtto b), a potom select from ta.A, tb.b from table ta, table tb, a, b where a.id = b.id and a.refid = ta.id and b.refid = tb.id

    to už radšej v aplikácii si vytvoriť dva kurzory na dva random selecty jedntlivých stĺpcov.

    11.8.2008 09:18 V3lbl^^d | skóre: 5 | Praha
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    Mozna trochu prehnane reseni, ale delal bych to pres docasne tabulky. Jinak pokud to neni potreba delat nutne v SQL, udelal bych to az v aplikacni vrstve, tam to prehazet preci neni problem a dokonce bych rekl, ze to bude vypocetne uspornejsi.
    default avatar 11.8.2008 09:49 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    Jinak pokud to neni potreba delat nutne v SQL, udelal bych to az v aplikacni vrstve, tam to prehazet preci neni problem a dokonce bych rekl, ze to bude vypocetne uspornejsi.
    No, tak jako já nevím. Databáze je specializovaný program pro manipulaci s daty…
    Mozna trochu prehnane reseni, ale delal bych to pres docasne tabulky.
    Zbytečná režije, pokud není třeba si ten "pomíchaný" stav pamatovat. Ale dočasné tabulky se většinou s koncem transakce čistí, takže nevím…

    Já bych si otevřel dva kurzory, jak už někdo psal: jeden jako
    SELECT
        sloupecA
    FROM
        tabulka
    ORDER BY
        DBMS_RANDOM.NORMAL
    
    a druhý úplně stejný, akorát s druhým sloupcem. Dokonce si myslím, že vzhledem k tomu, že pořadí řádků není garantováno, tak by u druhého kurzoru vůbec nemusel být ten ORDER BY DBMS_RANDOM.NORMAL
    pavlix avatar 18.8.2008 15:20 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    No, tak jako já nevím. Databáze je specializovaný program pro manipulaci s daty…
    Na ukládání dat a nějakou relační algebru. Vycházet z takovýchto "hesel" není úplně dobré.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    11.8.2008 09:48 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    SELECT data.sloupecA, data2.sloupecB
    FROM data, (SELECT sloupecB FROM data ORDER BY rand() LIMIT 1) AS data2
    
    Ale to vám nezaručí, že se hodnoty ze sloupceB nebudou opakovat.

    Pokoušíte se ale o dost zvláštní věc, a nejspíš děláte něco špatně – buď máte špatně strukturu tabulky, nebo se pokoušíte v databázi řešit něco, co by měla dělat aplikace.
    default avatar 11.8.2008 09:53 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    Pokoušíte se ale o dost zvláštní věc, a nejspíš děláte něco špatně
    No, dovedu si představit případ, kdy se to hodí :-D Například nějaký způsob testu: zamícháte odpovědi a zeptáte se, zda je to v pořádku :-D
    pavlix avatar 18.8.2008 15:21 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    A kdo bude vybírat z tisíců odpovědí?

    Zamíchat čtyři odpovědi je samozřejmě jednodušší v aplikaci. Deset odpovědí taky. Tak o co jde?
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    11.8.2008 11:17 albert
    Rozbalit Rozbalit vše Re: Select v tabulce s random vystupem
    Z vyse uvedenych reseni se mi zda jednoznacne nejlepsi navrh na dva kurzory, z nichz pouze jeden je trideny dle random (proc by se mel nahodne tridit i druhy, bude to pak snad nahodnejsi - neco jako nahoda na druhou? :-)). Pokud oprvadu potrebujes nahodne zamichat mezi uplne vsemi zaznamy a vsechny si je pak vyzvednout, pak je toto asi nejlepsi reseni.

    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.