SQL للعثور على عدد القيم المميزة في عمود

StackOverflow https://stackoverflow.com/questions/141562

  •  02-07-2019
  •  | 
  •  

سؤال

يمكنني تحديد جميع القيم المميزة في عمود بالطرق التالية:

  • 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 distinct columnName, count(columnName) as CountOf from tableName group by columnName

انتبه إلى أن Count() يتجاهل القيم الخالية، لذا إذا كنت بحاجة إلى السماح بالقيم الخالية كقيمة مميزة خاصة بها، فيمكنك القيام بشيء صعب مثل:

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

سيعطي هذا عددًا لمجموعة متميزة من الأعمدة.

SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

عليك أن تحسب هذا العمود المميز، ثم تعطيه اسمًا مستعارًا.

مجموع SQL للقيم الفريدة لـ column_name ومرتبة حسب التكرار:

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

**

باستخدام SQL التالي يمكننا الحصول على عدد قيم العمود المميز في Oracle 11g.

**

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

يمكنك استخدام هذا الاستعلام لحساب بيانات مختلفة/متميزة.شكرًا

Count(distinct({fieldname})) زائدة عن الحاجة

يمنحك Simple Count({fieldname}) جميع القيم المميزة في هذا الجدول.لن يمنحك (كما يفترض الكثيرون) عدد الجدول فقط [أي.ليس مثل Count(*) من الجدول]

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top