Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

intervalLengthSum

intervalLengthSum

قُدِّم في: v21.7.0

يأخذ عدة نطاقات رقمية ويحسب الطول الإجمالي بعد دمج جميع الأجزاء المتداخلة في نطاق موحّد واحد.

الصياغة

intervalLengthSum(start, end)

الوسائط

القيمة المُعادة

تعيد الطول الإجمالي لاتحاد جميع النطاقات (المقاطع على المحور العددي). واعتمادًا على نوع الوسيطة، قد تكون القيمة المُعادة من النوع 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                                    │
└────┴───────────────────────────────┴───────────────────────────────────────────┘
Navigation