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

    Chi mi aiuta con una query?

    Vi spiego il problema.
    Io ho una tabella con 3 campi con i seguenti dati

    N DATA COSTO
    1 2005-01-01 0.50
    1 2004-01-02 1.00
    1 2003-01-01 0.20
    2 2001-01-01 2.00
    2 2005-12-01 1.20

    Io voglio visualizzare per ogni N il record che ha la data maggiore ma non riesco,
    cioè il risultato dovrebbe essere

    N DATA COSTO
    1 2005-01-01 0.50
    2 2005-12-01 1.20

    Ho provato a fare questa select:
    SELECT n,max(data),costo from tabella where N='1' group by N

    ma il risultato non è corretto perchè mi visualizza i max sia di data che di costo, cioè mi rusluta così:
    N max(data) COSTO
    1 2005-01-01 1.00

    cosa devo fare?

  2. #2
    Prova:
    codice:
    SELECT n, data, costo 
    from tabella 
    where N = '1'
    ORDER by data DESC
    LIMIT 1

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

  3. #3
    Ma se volessi fare:

    UPDATE numeri, (<select tabella>) as risultato
    SET data_ultima = DATA, costo_ultimo = COSTO
    WHERE numeri.n=risultato.n

    che devo fare???Cioè che select devo metterci in <select tabella> ?

  4. #4
    UPDATE numeri
    SET ultima_date =
    (SELECT DATA
    FROM tabella
    AND tabella.n=numeri.n
    ORDER by DATA DESC LIMIT 1)

    forse così?

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.