3.6 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | d734a8e46d |
52 | کارکرد(نام و نام خانوادگی..) |
AggregateFunction(name, types_of_arguments…)
Aggregate functions can have an implementation-defined intermediate state that can be serialized to an AggregateFunction(…) data type and stored in a table, usually, by means of مشاهده محقق. راه معمول برای تولید یک دولت تابع جمع است با فراخوانی تابع جمع با -State
پسوند. برای دریافت نتیجه نهایی از تجمع در اینده, شما باید همان تابع کل با استفاده از -Merge
پسوند.
AggregateFunction
— parametric data type.
پارامترها
-
نام تابع جمع.
If the function is parametric, specify its parameters too.
-
انواع استدلال تابع جمع.
مثال
CREATE TABLE t
(
column1 AggregateFunction(uniq, UInt64),
column2 AggregateFunction(anyIf, String, UInt8),
column3 AggregateFunction(quantiles(0.5, 0.9), UInt64)
) ENGINE = ...
دانشگاه. (هر+اگر) و quantiles توابع مجموع پشتیبانی در خانه کلیک می باشد.
استفاده
درج داده
برای وارد کردن داده ها استفاده کنید INSERT SELECT
با مجموع -State
- توابع .
نمونه تابع
uniqState(UserID)
quantilesState(0.5, 0.9)(SendTiming)
در مقایسه با توابع مربوطه uniq
و quantiles
, -State
- توابع بازگشت به دولت, به جای ارزش نهایی. به عبارت دیگر ارزش بازگشت AggregateFunction
نوع.
در نتایج SELECT
پرس و جو, ارزش AggregateFunction
نوع اجرای خاص نمایندگی دودویی برای همه فرمت های خروجی کلیک کنید. اگر کمپرسی داده ها به, مثلا, TabSeparated
قالب با SELECT
پرس و جو, سپس این روگرفت را می توان با استفاده از لود INSERT
پرس و جو.
گزینش داده
هنگام انتخاب داده ها از AggregatingMergeTree
جدول استفاده کنید GROUP BY
بند و همان مجموع توابع به عنوان زمانی که قرار دادن داده اما با استفاده از -Merge
پسوند.
یک تابع جمع با -Merge
پسوند مجموعه ای از ایالت ها را ترکیب می کند و نتیجه تجمع کامل داده ها را باز می گرداند.
مثلا, دو نمایش داده شد زیر بازگشت به همان نتیجه:
SELECT uniq(UserID) FROM table
SELECT uniqMerge(state) FROM (SELECT uniqState(UserID) AS state FROM table GROUP BY RegionID)
مثال طریقه استفاده
ببینید ریزدانه موتور باشرکت.