ClickHouse/docs/fa/sql-reference/statements/select/limit-by.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

2.8 KiB

machine_translated machine_translated_rev
true 72537a2d52

محدود کردن بند

پرس و جو با LIMIT n BY expressions بند اول را انتخاب می کند n ردیف برای هر مقدار مجزا از expressions. کلید برای LIMIT BY می تواند شامل هر تعداد از عبارتها.

تاتر از انواع نحو زیر:

  • LIMIT [offset_value, ]n BY expressions
  • LIMIT n OFFSET offset_value BY expressions

در طول پردازش پرس و جو, خانه را انتخاب داده دستور داد با مرتب سازی کلید. کلید مرتب سازی به صراحت با استفاده از یک مجموعه ORDER BY بند یا به طور ضمنی به عنوان یک ویژگی از موتور جدول. سپس کلیک کنیداوس اعمال می شود LIMIT n BY expressions و اولین را برمی گرداند n ردیف برای هر ترکیب مجزا از expressions. اگر OFFSET مشخص شده است, سپس برای هر بلوک داده که متعلق به یک ترکیب متمایز از expressions. offset_value تعداد ردیف از ابتدای بلوک و حداکثر می گرداند n ردیف به عنوان یک نتیجه. اگر offset_value بزرگتر از تعدادی از ردیف در بلوک داده است, کلیک بازگشت صفر ردیف از بلوک.

!!! note "یادداشت" LIMIT BY مربوط به LIMIT. هر دو را می توان در همان پرس و جو استفاده کرد.

مثالها

جدول نمونه:

CREATE TABLE limit_by(id Int, val Int) ENGINE = Memory;
INSERT INTO limit_by VALUES (1, 10), (1, 11), (1, 12), (2, 20), (2, 21);

نمایش داده شد:

SELECT * FROM limit_by ORDER BY id, val LIMIT 2 BY id
┌─id─┬─val─┐
│  1 │  10 │
│  1 │  11 │
│  2 │  20 │
│  2 │  21 │
└────┴─────┘
SELECT * FROM limit_by ORDER BY id, val LIMIT 1, 2 BY id
┌─id─┬─val─┐
│  1 │  11 │
│  1 │  12 │
│  2 │  21 │
└────┴─────┘

این SELECT * FROM limit_by ORDER BY id, val LIMIT 2 OFFSET 1 BY id پرس و جو همان نتیجه را برمی گرداند.

پرس و جو زیر را برمی گرداند بالا 5 ارجاع برای هر domain, device_type جفت با حداکثر 100 ردیف در مجموع (LIMIT n BY + LIMIT).

SELECT
    domainWithoutWWW(URL) AS domain,
    domainWithoutWWW(REFERRER_URL) AS referrer,
    device_type,
    count() cnt
FROM hits
GROUP BY domain, referrer, device_type
ORDER BY cnt DESC
LIMIT 5 BY domain, device_type
LIMIT 100