+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

select che restituisca più valori estratti random da campo con valore più alto

  1. #1
    sciagallone non è in linea Novello
    Salve, vorrei avere un aiuto dovrei fare una select su una tabella che mi estraesse random 5 record tra tutti quelli che presentano un determinato campo contatore con valore più alto. nel senso che se nel db ci sono 20 record e uno ha il valore 5 10 il valore 2 e 9 il valore 1, la select mi dovrebbe estrarre il record con contatore 5 e 4 (scelti random)di quelli con valore 2.
    io ho provato questa query, ma è errata sintatticamente:
    SELECT * , MAX( `dom_sbagliata` ) AS max_sbaglio
    FROM `domanda`
    ORDER BY RAND( ) DESC
    LIMIT 5

    ma da come risultato un solo record invece di 5.

    qualcuno potrebbe aiutarmi? grazie

  2. #2
    L'avatar di Max.Riservo
    Max.Riservo ora è in linea Scribacchino
    nel senso che se nel db ci sono 20 record e uno ha il valore 5 10 il valore 2 e 9 il valore 1, la select mi dovrebbe estrarre il record con contatore 5 e 4 (scelti random)di quelli con valore 2.
    Sinceramente non ho capito nulla di cosa vuoi ottenere.

    Mi resta comunque un dubbio di fondo : se la base dati resta costante (ovvero a parità di record da filtrare) come può cambiare il risultato della select ???
    Per essere più esplicito : cosa intendi per random ????

  3. #3
    sciagallone non è in linea Novello
    la base di dati non è costante ma dinamica.vengono immessi dati nuovi costantemente.
    la select deve estrarre ad esempio 5 record random tra tutti i record presenti che hanno un certo valore in un determinato campo e che abbiano il valore di un campo contatore più alto. il valore più alto significa che partendo dal record con contatore più alto in assoluto, dovranno essere estratti fino a 5 record con il valore contatore via via decrescente.
    spero di essere stato chiaro..

    invece per random intendo che se più di 5 record soddisfano le select devono essere presi solo i 5 con contatore più alto e nel caso di contatore con lo stesso valore deve estrarre i record in modo casuale, sempre diverso ad ogni query.

    grazie comunque per aver risposto

  4. #4
    net-addiction non è in linea Scolaretto
    ciao,
    vediamo se ho capito bene. Vorresti prendere i primi 5 record che hanno il valore del campo dom_sbagliata piu alto ordinati casualmente?

     SELECT * FROM ( SELECT * FROM domanda ORDER BY dom_sbagliata DESC ) AS t ORDER BY rand() LIMIT 5;
    
    La query tra parentesi estrae i record con il valore "dom_sbagliata" dal più alto al piu basso. l'altra li ordina in modo casuale e ne estrae 5.

    ciao

    Ciao.
    Ultima modifica di net-addiction; 07-04-2014 02:29  Motivo: inserisco tag code
    ℹ️ Leggi di più su net-addiction ...

  5. #5
    sciagallone non è in linea Novello
    grazie grimreaper,

    si hai capito bene era proprio quello che chiedevo.

    grazie ancora

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Query per estrarre solo il valore più alto di un campo
    Da Marcello nel forum Microsoft Access
    Risposte: 9
    Ultimo Post: 09-03-2015, 16:16
  2. Come ottenere il valore piu' alto dei record in un campo
    Da ilpescatore nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 12-12-2014, 13:29
  3. Visualizzazione valore più alto in un campo Query
    Da manu05 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 24-07-2014, 12:22
  4. Copiare un campo in un alto Campo nella stessa tabella
    Da henry63 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 31-01-2011, 01:07
  5. Risposte: 15
    Ultimo Post: 26-05-2009, 14:04