Visualizzazione dei risultati da 1 a 10 su 25

Hybrid View

  1. #1
    Beh faccio un esempio banale.

    Se uno volesse fare un sistema che assegna in modo puramente casuale una somma di denaro. Bisognerà accettare che qualcuno vinca più di una volta.
    Se uno volesse fare un sistema che assegna in modo casuale le domande a di un esame a uno studente, bisognerà essere certi che non ricapiti la stessa domanda.

    Sono due problemi "ugualmente" casuali.
    Per me la distribuzione di probabilità di uscita dei record è una curiosità o poco più ma ho l'esigenza di non avere record ripetuti. Rnd() me lo garantisce o devo un controllo successivo?

    D'altronde ricordo che c'erano algoritmi pseudocasuali che non ripetevano un numero prima dell'uscita di tutti quanti quindi la cosa non è infattibile.

    Grazie
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da Nunkij Visualizza il messaggio
    [...]
    Se uno volesse fare un sistema che assegna in modo casuale le domande a di un esame a uno studente, bisognerà essere certi che non ricapiti la stessa domanda.
    [...]
    beh, se lo fai per una sola persona e usi una query ordinata su RAND() e prendi, ad esempio, i primi 10 record con LIMIT, la vedo molto difficile che ti esca due volte la stessa domanda nello stesso recordset restituito dalla query...

  3. #3
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da Nunkij Visualizza il messaggio
    ........ ho l'esigenza di non avere record ripetuti. Rnd() me lo garantisce o devo un controllo successivo? ......
    Come ti dice clasku se fai una sola estrazione non ti puo capitare un record ripetuto

    ma pero se fai piu estrazioni allora certamente ti puo capitare

    Quindi tu devi estrarre casualmente escludendo i record gia estratti precedentemente

    L'unica idea che mi viene è quella di avere un campo specifico in tabella dove metti un flag ai record gia estratti
    chiaramente il random poi lo vai a pescare dai record senza flag


    Non credo che in MySql esista una procedura specifica
    ma dovrai creartela "artigianalmente"

    Per me assomiglia moltissimo al link del #2
    ma magari altri utenti avranno idee migliori,

    poi io conosco solo superficialmente MySql

    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.