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

    query su tabella cercando per mese

    salve a tutti,

    ho una tabella con vari campi, uno data, uno nome ed uno numero.

    vorrei cercare solo i record che soddisfano 2 requisiti:

    un nome ed un mese e raggruppare i numeri ottenuti ....

    es:

    >Pino,20070202,1
    >Pino,20070302,1
    >Luca,20070302,9
    >Anto,20070202,5
    >Pino,20070205,8

    se cerco Pino, febbraio 2007 dovrei ottenere 9 ....


    che si possa fare con una singola query, usando group by ad es? :master:

    con mysql sono proprio una frana ....

    Verba volant, scripta manent

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select * from tabella where nome = 'Pino' and extract(year_month from campo_data) = '200702'

  3. #3
    non sò come ringraziarti .....

    Verba volant, scripta manent

  4. #4
    scusa ancora...

    se volessi raggruppare il dato numerico ?

    si puo?
    Verba volant, scripta manent

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Scusa ma non ho capito. Mi fai un esempio pratico di ciò che vuoi ottenere?

  6. #6
    scusa tu ....

    con la query che mi hai fatto ho ottenuto tutti i records... OK

    ma vorrei ottenere anche una somma di un campo (che è numerico), come nell'esempio sopra ....

    posso anche farlo con un while, ma forse si può già fare nella query?

    :master:
    Verba volant, scripta manent

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se hai mysql >= 4.1 puoi usare group_concat

    codice:
    select nome,group_concat(campo_data order by campo_data asc separator '#') as tutte_date,sum(punteggio) as totale
    from tabella
    where nome = 'Pino' and extract(year_month from campo_data) = '200702'
    group by nome

  8. #8
    ehmmm ....

    la mia query è questa:

    SELECT * FROM `interventi` WHERE tecnico = 'Michele' and extract(year_month from data) = '200702'

    i campi sono data (la data), tecnico (i nomi), durata (un numero) ....

    non capisco cosa mettere in tutte_date, punteggio, totale ....

    ma sono io molto newbie .....

    :master:
    Verba volant, scripta manent

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select tecnico,group_concat(`data` order by `data` asc separator '#') as tutte_date,sum(durata) as totale
    from interventi
    where tecnico = 'Pino' and extract(year_month from `data`) = '200702'
    group by tecnico
    tutte_date e totale sono semplicemente degli alias, cioè dei nomi che scegli e che ti serviranno per avere un riferimento quando dovrai recuperare i dati in php.

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.