الانتقال إلى المحتوى الرئيسي

uniq

أُضيفت في: v1.1.0 تحسب العدد التقريبي للقيم المختلفة للوسيطة. تستخدم هذه الدالة خوارزمية تكيفية لأخذ العينات. وبالنسبة إلى حالة الحساب، تستخدم الدالة عيّنة من قيم hash للعناصر حتى 65536. تتميز هذه الخوارزمية بدقة وكفاءة عاليتين جدًا على CPU. وعندما يحتوي الاستعلام على عدة دوال من هذا النوع، يكون استخدام uniq قريبًا جدًا في السرعة من استخدام الدوال التجميعية الأخرى.
تحسب هذه الدالة قيمة hash لجميع parameters في التجميع، ثم تستخدمها في الحسابات. وهي تستخدم خوارزمية تكيفية لأخذ العينات. وبالنسبة إلى حالة الحساب، تستخدم الدالة عيّنة من قيم hash للعناصر حتى 65536. تتميز هذه الخوارزمية بدقة وكفاءة عاليتين جدًا على CPU. وعندما يحتوي الاستعلام على عدة دوال من هذا النوع، يكون استخدام uniq قريبًا جدًا في السرعة من استخدام الدوال التجميعية الأخرى.
نوصي باستخدام هذه الدالة بدلًا من المتغيرات الأخرى في جميع السيناريوهات تقريبًا.
الصياغة
uniq(x[, ...])
الوسائط القيمة المعادة تعيد عددًا من النوع UInt64 يمثّل العدد التقريبي للقيم المختلفة. UInt64 أمثلة مثال للاستخدام
Query
CREATE TABLE example_table (
    id UInt32,
    category String,
    value Float64
) ENGINE = Memory;

INSERT INTO example_table VALUES
(1, 'A', 10.5),
(2, 'B', 20.3),
(3, 'A', 15.7),
(4, 'C', 8.9),
(5, 'B', 12.1),
(6, 'A', 18.4);

SELECT uniq(category) as unique_categories
FROM example_table;
Response
┌─unique_categories─┐
│                 3 │
└───────────────────┘
عدة وسائط
Query
SELECT uniq(category, value) as unique_combinations
FROM example_table;
Response
┌─unique_combinations─┐
│                   6 │
└─────────────────────┘
انظر أيضًا
آخر تعديل في ٢٩ يونيو ٢٠٢٦