Visualizzazione risultati 1 fino 4 di 4

Discussione: Ricavare tutte le colonne utilizzando DISTINCT

  1. #1
    L'avatar di radiodelmomento
    radiodelmomento non  connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Question Ricavare tutte le colonne utilizzando DISTINCT

    Il "problema" (che alla fine una funzione) di DISTINCT che non posso selezionare tutti i campi.
    Devo selezionare tutte le query che hanno come data, che ne so, l'1 gennaio, ma devo anche contare una sola volta i valori unici della colonna colonna1.

    Quindi:
    Codice:
    SELECT DISTINCT colonna1 FROM tabella WHERE DATE(colonnaData) = '2014-01-01'
    Mi sono scervellato un bel po' di tempo con WHERE NOT EXIST ma non mi venuto in mente nulla

    Grazie

  2. #2
    L'avatar di saitfainder
    saitfainder non  connesso Snir Stff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Se si tratta di contare puoi usare COUNT(DISTINCT nomecampo).

    Occhio alla terminologia. Per "campi" si intendono le colonne della tabella, mentre una "query" l'interrogazione al database che restituisce delle "righe" o, se preferisci, dei "record".


    una mia peculiarit distorcere la verit e inventarne di nuove.
    I tuoi orientamenti hanno su di me un effetto prossimo allo zero.


  3. #3
    sitoprovadini non  connesso Neofita
    Data registrazione
    24-09-2013
    Messaggi
    5

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Il "problema" (che alla fine una funzione) di DISTINCT che non posso selezionare tutti i campi.
    Devo selezionare tutte le query che hanno come data, che ne so, l'1 gennaio, ma devo anche contare una sola volta i valori unici della colonna colonna1.

    Quindi:
    Codice:
    SELECT DISTINCT colonna1 FROM tabella WHERE DATE(colonnaData) = '2014-01-01'
    Mi sono scervellato un bel po' di tempo con WHERE NOT EXIST ma non mi venuto in mente nulla

    Grazie
    SELECT COUNT(colonna1), colonnaData
    FROM tabella
    GROUP BY(colonnaData)
    WHERE DATE(colonnaData) = '2014-01-01'

  4. #4
    L'avatar di radiodelmomento
    radiodelmomento non  connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da saitfainder Visualizza messaggio
    Occhio alla terminologia. Per "campi" si intendono le colonne della tabella, mentre una "query" l'interrogazione al database che restituisce delle "righe" o, se preferisci, dei "record".
    Infatti volevo recuperare tutte le colonne (campi) della tabella, e non solo quella che specificato con DISTINCT

    Citazione Originalmente inviato da sitoprovadini Visualizza messaggio
    SELECT COUNT(colonna1), colonnaData
    FROM tabella
    GROUP BY(colonnaData)
    WHERE DATE(colonnaData) = '2014-01-01'
    Grazie mille, invertendo GROUP BY e WHERE funziona perfettamente

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •