Domanda

Posso selezionare tutti i valori distinti in una colonna nei seguenti modi:

  • SELEZIONA DISTINCT nome_colonna DA nome_tabella;
  • SELEZIONA nome_colonna DA nome_gruppo GROUP BY nome_colonna;

Ma come posso ottenere il conteggio delle righe da quella query? È richiesta una sottoquery?

È stato utile?

Soluzione

Puoi utilizzare la parola chiave DISTINCT nella COUNT funzione aggregata:

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

Questo conterà solo i valori distinti per quella colonna.

Altri suggerimenti

Questo ti darà ENTRAMBI i valori di colonna distinti e il conteggio di ciascun valore. Di solito trovo che voglio conoscere entrambe le informazioni.

select distinct columnName, count(columnName) as CountOf from tableName group by columnName

Tieni presente che Count () ignora i valori null, quindi se devi consentire null come valore distinto puoi fare qualcosa di complicato come:

select count(distinct my_col)
       + count(distinct Case when my_col is null then 1 else null end)
from my_table
/
select count(*) from 
(
SELECT distinct column1,column2,column3,column4 FROM abcd
) T

Questo darà il conto di un gruppo distinto di colonne.

SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

devi contare quel col distinto, quindi dargli un alias.

Una somma sql dei valori univoci di nome_colonna e ordinati per frequenza:

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;
select Count(distinct columnName) as columnNameCount from tableName 

**

  

Usando il seguente SQL possiamo ottenere il conteggio dei valori di colonna distinti   Oracle 11g.

**

Select count(distinct(Column_Name)) from TableName
select count(distinct(column_name)) AS columndatacount from table_name where somecondition=true

È possibile utilizzare questa query per contare dati diversi / distinti. Grazie

Il conteggio (distinto ({fieldname})) è ridondante

Semplicemente Count ({fieldname}) ti dà tutti i valori distinti in quella tabella. Non (come molti presumono) ti darà solo il Conteggio della tabella [ad es. NON uguale a Count (*) dalla tabella]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top