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

    prendere primi record con campo=valore

    ciao a tutti.
    Come faccio a prelevare solo il primo record per ogni uid in questa query?

    codice:
    SELECT U.name as name,U.surname as surname,U.uid as uid,F.id_foto as id_foto,C.message as message,C.sent as sent          
    FROM ".$_CONFIG['table_utenti']." U, ".$_CONFIG['table_foto']." F, ".$_CONFIG['table_chat']." C         
    WHERE         
    (C.from = U.uid OR C.to = U.uid) AND         
    U.uid = F.uid AND         
    U.uid != '".$_POST['uid']."'         
    ORDER BY C.id DESC

  2. #2
    EHM....su quale database???????????

  3. #3
    sto creando una nuova tabella dal merge delle 3 tabelle ma tutte sono legate dal campo uid quindi a me interessa che nella nuova tabella che si sta creando ci sia solo il primo record per ogni uid.

  4. #4
    ho trovato una mezza soluzione.
    Ho aggiunto GROUP BY in coda alla query.
    Cosi mi prende solo il primi record per ogni uid differente.
    Il problema e'che io vorrei che mi prendesse solo l'ultimo record per ogni uid e non il primo.
    Il comando ORDER BY agisce solo sui records gia' filtrati.
    Come posso risolvere?

  5. #5
    Ho risolto:


    codice:
    SELECT * FROM        
    (        
    SELECT U.name as name,U.surname as surname,U.uid as uid,F.id_foto as id_foto,C.id as messageid,C.message as message,C.sent as sent          
    FROM ".$_CONFIG['table_utenti']." U, ".$_CONFIG['table_foto']." F, ".$_CONFIG['table_chat']." C         
    WHERE         
    (C.from = U.uid OR C.to = U.uid) AND         
    U.uid = F.uid AND         
    U.uid != '".$_POST['uid']."'         
    ORDER BY C.id DESC        
     )
    as my_table_tmp          
    GROUP BY uid
    ORDER BY messageid DESC

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.