Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

Discussione: order by rnd()

  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    order by rnd()

    ho trovato questa istruzione SQL che se funzionasse farebbe molto comodo.

    provo così:

    codice:
    Set rec = Server.CreateObject("ADODB.Recordset") 
    	sql="select TOP 8 * miatab where public=true order by rnd(id)"
    	rec.open sql, conn, 3
    ma restituisce sempre gli stessi dati
    ptete aiutarmi grazie!

  2. #2
    non sapevo esistesse un a cosa simile...

    prova magari con:

    codice:
     randomize
    Set rec = Server.CreateObject("ADODB.Recordset") 
    	sql="select TOP 8 * miatab where public=true order by rnd(id)"
    	rec.open sql, conn, 3

  3. #3
    però mi sembra difettosa in logica questa funzione...ma te la sei inventata te o esiste da qualche parte?

  4. #4
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    l'ho trovata qui..
    ma poi l'ho trovata anche su forum internazionali.. e dicono che è una istruzione di sql server ed access.

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    non funonzia lo stesso...

  6. #6
    Originariamente inviato da santino83
    non sapevo esistesse un a cosa simile...

    prova magari con:

    codice:
     randomize
    Set rec = Server.CreateObject("ADODB.Recordset") 
    	sql="select TOP 8 * miatab where public=true order by rnd(id)"
    	rec.open sql, conn, 3
    la funzione rnd() almeno da vb..da sola....resittuisce solo un numero ocmpreso tra 0 e 1 e senza la randomize pesca sempre lo stesso...

    sarebbe più correto (rnd*max)+1
    P.S.: se si comporta come VB

    VaneX

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    ho provato così...

    randomize
    Set rec = Server.CreateObject("ADODB.Recordset")
    sql="select TOP 8 * sistemazioni where public=true order by (rnd*max)+1 "
    rec.open sql, conn, 3

    ma non va...
    (operatore mancante) nell'espressione della query '* sistemazioni where public=true order by (rnd*max)+1'.

  8. #8
    non credo possa funzionare... dove l'hai trovata?

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    vedi sopra...

  10. #10
    manca il "from", anzi dovrebbe darti errore

    select TOP 8 * FROM miatab where public=true order by rnd(id)

    per il resto mi pare corretta x access (non x MSsql)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.