Я можу вибрати всі різні значення у стовпці такими способами:
SELECT DISTINCT column_name FROM table_name;
SELECT column_name FROM table_name GROUP BY column_name;
Але як я можу отримати кількість рядків із цього запиту? Чи потрібен підзапит?
Я можу вибрати всі різні значення у стовпці такими способами:
SELECT DISTINCT column_name FROM table_name;
SELECT column_name FROM table_name GROUP BY column_name;
Але як я можу отримати кількість рядків із цього запиту? Чи потрібен підзапит?
Відповіді:
Ви можете використовувати DISTINCT
ключове слово в рамках COUNT
функції сукупності:
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name
Це враховує лише окремі значення для цього стовпця.
select A,COUNT(DISTINCT B) from table group by A
Це дасть вам ВІДМОВИ чіткі значення стовпців та кількість кожного значення. Зазвичай я вважаю, що хочу знати обидві частини інформації.
SELECT [columnName], count([columnName]) AS CountOf
FROM [tableName]
GROUP BY [columnName]
columnName
, ви вже отримуєте виразні значення лише один раз, і distinct
ключове слово тут нічого не робить. Спробуйте запит без нього, набір результатів точно такий же.
Майте на увазі, що Count () ігнорує нульові значення, тому якщо вам потрібно дозволити null як своє окреме значення, ви можете зробити щось складне, наприклад:
select count(distinct my_col)
+ count(distinct Case when my_col is null then 1 else null end)
from my_table
/
case when my_col is null then 1 else my_col end
SELECT my_col, COUNT(my_col) + COUNT(CASE WHEN my_col IS NULL THEN 1 ELSE NULL END) as CountOf from my_Table GROUP BY my_col
count(*)
конкретно кількість рядків.
Сума sql унікальних значень імені стовпця та сортується за частотою:
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY 2 DESC;
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;
вам доведеться порахувати цей виразний коло, а потім дати йому псевдонім.
**
Використовуючи наступний SQL, ми можемо отримати чітке значення стовпця в Oracle 11g.
**
Select count(distinct(Column_Name)) from TableName
select count(distinct(column_name)) AS columndatacount from table_name where somecondition=true
Ви можете використовувати цей запит для підрахунку різних / чітких даних. Дякую
Підрахунок (виразний ({fieldname})) є зайвим
Просто Count ({fieldname}) дає всі чіткі значення в цій таблиці. Він не буде (як багато припускають) просто дасть вам кількість таблиць [тобто НЕ такий самий, як Count (*) з таблиці]
count(field)
повертає кількість рядків, де field
є not null
.