intervalLengthSum
قُدِّم في: v21.7.0
يأخذ عدة نطاقات رقمية ويحسب الطول الإجمالي بعد دمج جميع الأجزاء المتداخلة في نطاق موحّد واحد.
الصياغة
intervalLengthSum(start, end)الوسائط
start— قيمة بداية الفاصل.(U)Int32/64أوFloat*أوDateTimeأوDateend— قيمة نهاية الفاصل.(U)Int32/64أوFloat*أوDateTimeأوDate
القيمة المُعادة
تعيد الطول الإجمالي لاتحاد جميع النطاقات (المقاطع على المحور العددي). واعتمادًا على نوع الوسيطة، قد تكون القيمة المُعادة من النوع UInt64 أو Float64. UInt64 أو Float64
أمثلة
مثال Float32
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;┌─id─┬─intervalLengthSum(start, end)─┬─toTypeName(intervalLengthSum(start, end))─┐
│ a │ 3.0999999046325684 │ Float64 │
└────┴───────────────────────────────┴───────────────────────────────────────────┘مثال على DateTime
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;┌─id─┬─intervalLengthSum(start, end)─┬─toTypeName(intervalLengthSum(start, end))─┐
│ a │ 6610 │ UInt64 │
└────┴───────────────────────────────┴───────────────────────────────────────────┘مثال على Date
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;┌─id─┬─intervalLengthSum(start, end)─┬─toTypeName(intervalLengthSum(start, end))─┐
│ a │ 9 │ UInt64 │
└────┴───────────────────────────────┴───────────────────────────────────────────┘