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

intervalLengthSum

قُدِّم في: v21.7.0 يأخذ عدة نطاقات رقمية ويحسب الطول الإجمالي بعد دمج جميع الأجزاء المتداخلة في نطاق موحّد واحد.
يجب أن تكون الوسائط من نوع البيانات نفسه. وإلا فسيُطرَح استثناء.
الصياغة
intervalLengthSum(start, end)
الوسائط القيمة المُعادة تعيد الطول الإجمالي لاتحاد جميع النطاقات (المقاطع على المحور العددي). واعتمادًا على نوع الوسيطة، قد تكون القيمة المُعادة من النوع UInt64 أو Float64. UInt64 أو Float64 أمثلة مثال Float32
Query
CREATE TABLE fl_interval (id String, start Float32, end Float32) ENGINE = Memory;
INSERT INTO fl_interval VALUES ('a', 1.1, 2.9), ('a', 2.5, 3.2), ('a', 4, 5);

SELECT id, intervalLengthSum(start, end), toTypeName(intervalLengthSum(start, end)) FROM fl_interval GROUP BY id ORDER BY id;
Response
┌─id─┬─intervalLengthSum(start, end)─┬─toTypeName(intervalLengthSum(start, end))─┐
│ a  │                           3.1 │ Float64                                   │
└────┴───────────────────────────────┴───────────────────────────────────────────┘
مثال على DateTime
Query
CREATE TABLE dt_interval (id String, start DateTime, end DateTime) ENGINE = Memory;
INSERT INTO dt_interval VALUES ('a', '2020-01-01 01:12:30', '2020-01-01 02:10:10'), ('a', '2020-01-01 02:05:30', '2020-01-01 02:50:31'), ('a', '2020-01-01 03:11:22', '2020-01-01 03:23:31');

SELECT id, intervalLengthSum(start, end), toTypeName(intervalLengthSum(start, end)) FROM dt_interval GROUP BY id ORDER BY id;
Response
┌─id─┬─intervalLengthSum(start, end)─┬─toTypeName(intervalLengthSum(start, end))─┐
│ a  │                          6610 │ UInt64                                    │
└────┴───────────────────────────────┴───────────────────────────────────────────┘
مثال على Date
Query
CREATE TABLE date_interval (id String, start Date, end Date) ENGINE = Memory;
INSERT INTO date_interval VALUES ('a', '2020-01-01', '2020-01-04'), ('a', '2020-01-12', '2020-01-18');

SELECT id, intervalLengthSum(start, end), toTypeName(intervalLengthSum(start, end)) FROM date_interval GROUP BY id ORDER BY id;
Response
┌─id─┬─intervalLengthSum(start, end)─┬─toTypeName(intervalLengthSum(start, end))─┐
│ a  │                             9 │ UInt64                                    │
└────┴───────────────────────────────┴───────────────────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦