Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    [PHP & MYSQL] - Estrarre un record casuale

    Ho una tabella di questo tipo

    codice:
    id | nome | id_categoria
    
     1   aaa        1
     2   bbb        1
     3   ccc        1 
     4   ddd        2
     5   eee        2
     6   fff        3
     7   ggg        3
     8   hhh        3
     9   iii        1
    In pratica ci sono vari nomi, ognuno dei quali appartiene a una categoria. Ora, con un unica query, avrei bisogno di estrarre dalla tabella un nome per ogni categoria, in modo casuale.

    Ad esempio, una volta può capitare che escano
    aaa (cat. 1)
    fff (cat. 2)
    hhh (cat. 3)

    un altra volta:
    bbb (cat. 1)
    ddd (cat. 2)
    ggg (cat. 3)

    l' importante è che ce ne sia sempre uno per categoria.

    come potrei fare?

  2. #2
    Non hai molte alternative... una tabella temporanea oppure UNION.
    codice:
    (select * from tab
    where id_categoria = 1
    order by RAND()
    limit 1 )
    UNION
    (select * from tab
    where id_categoria = 2
    order by RAND()
    limit 1 )
    UNION
    (select * from tab
    where id_categoria = 3
    order by RAND()
    limit 1 )


    Con mysql 5.0.15 potresti farci una "view" oppure una "stored procedure"


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Rand() azz non la conoscevo..... beh quante cose non conosco
    grande

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