Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    un select per 2 record da una cat e uno da un'altra cat con order random

    Buongiorno a tutti, sto diventando matto con questo tipo di select le ho provate tutteeeee, vi spiego:
    Ho una tabella con divere categorie, quelle che a me interessano sono:
    cat 1 e cat 2
    dalla prima devo tirare fuori due record
    dalla seconda un record
    in maniera random
    limit 3
    Come faccio?
    Scusate l'ignoranza, ma sto diventando matto

  2. #2
    usa UNION.

    codice:
    (select * from tabella
    where categoria = 1
    order by rand()
    limit 2)
    UNION
    (select * from tabella
    where categoria = 2
    order by rand()
    limit 1)

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

  3. #3

    Hai ragione ma..

    Cosi mi conta due select io ne volevo fare uno (per un problema di max question), perchè lo devo mettere su un sito che ha un sacco di accessi e devo ridurre al massimo i select.
    Grazie per il consiglio dato e futuro.
    Lenny

  4. #4
    da php e' una query sola.

    Forse potresti ottimizzare altre queries, ma per quello che vuoi fare questa proposta e' la soluzione ottimizzata, anche a livello di codice php.

    L'alternativa e' estrarre tutto di cat 1 e 2 e poi lavorare sugli array in php.

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

  5. #5

    Se siamo sicuri è ok

    Si hai ragione, che questa è la soluzione migliore, volevo solo la conferma che fosse una query solo e questa la cosa fondamentale.... lavorare su tutti i dati per poi andare a pescare gli array credo che sia macchinoso.
    Uso union...
    Grazie per la collaborazione.
    Domanda: ma perchè la cartella della discussione ha un punto nero?
    Grazie ancora lenny

  6. #6

    Re: Se siamo sicuri è ok

    Originariamente inviato da lenny1875
    Domanda: ma perchè la cartella della discussione ha un punto nero?
    segnata a lutto....

    identifica le discussioni a cui hai partecipato o sei iscritto. Di solito, personalmente, guardo solo le discussioni con zero risposte, o con il puntino nero cioe' quelle a cui ho partecipato.

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

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.