SQL pentru a găsi numărul de valori distincte într-o coloană

Nu pot selecta toate valorile distincte într-o coloană în următoarele moduri:

  • SELECT DISTINCT column_name DE nume_tabel;
  • SELECT column_name DE table_name GRUP DE column_name;

Dar cum fac rost de numărul de rând din acea interogare? Este o subinterogare este necesar?

Comentarii la întrebare (1)
Soluția

Puteți utiliza DISTINCT de cuvinte cheie în COUNT funcția agregată:

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

Acest lucru va conta numai valori distincte pentru acea coloană.

Comentarii (5)

Acest lucru vă va oferi ATÂT de distincte valorile de coloană și numărul de fiecare valoare. De obicei am observat că vreau să știu ambele bucăți de informații.

SELECT [columnName], count([columnName]) AS CountOf
FROM [tableName]
GROUP BY [columnName]
Comentarii (1)

Fi conștienți de faptul că Count() ignoră valorile nule, deci, dacă aveți nevoie pentru a permite nul ca propria sa valoare distinctă poți să faci ceva complicat, cum ar fi:

select count(distinct my_col)
       + count(distinct Case when my_col is null then 1 else null end)
from my_table
/
Comentarii (4)

Sql o suma de column_name's valori unice și clasificate în funcție de frecvență:

SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;
Comentarii (1)
select count(*) from 
(
SELECT distinct column1,column2,column3,column4 FROM abcd
) T

Acest lucru vă va oferi numărul de grup distinct de coloane.

Comentarii (0)
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

te'am să-i număr distinct col, apoi da un nume fals.

Comentarii (0)
select Count(distinct columnName) as columnNameCount from tableName 
Comentarii (0)

**

Folosind următoarele SQL putem obține distinct coloana valoarea conta în Oracle 11g.

**

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

Puteți utiliza această interogare, pentru a conta diferite/de date distincte. Multumesc

Comentarii (0)

Count(distinct({fieldname})) este redundant

Pur și simplu Conta({fieldname}) vă oferă toate valorile distincte din acel tabel. Acesta nu va (așa cum mulți presupun) dă numărul de masă [adică NU la fel ca Count(*) din tabel]

Comentarii (1)