توابع پنجره SQL: بررسی سریع با مثال

مقدمه

توابع پنجره یک ویژگی قدرتمند در SQL هستند که برای انجام محاسبات در مجموعه ای از ردیف های مربوط به ردیف فعلی استفاده می شود. برخلاف توابع جمع، توابع پنجره ردیف ها را در یک خروجی گروه بندی نمی کنند. آنها یک نتیجه را برای هر ردیف در حالی که زمینه مجموعه داده را حفظ می کنند، برمی گردانند.

در این مقاله، ما برخی از توابع رایج پنجره SQL را بررسی خواهیم کرد (ROW_NUMBER()، RANK()، DENSE_RANK()، NTILE()، LEAD()، و LAG()) با مثال.

جدول نمونه: داده های فروش

ما از جدول فروش زیر برای نشان دادن عملکردهای پنجره استفاده می کنیم:

شناسه فروش

شناسه مشتری

محصول

منطقه

مقدار

تاریخ فروش

1

101

لپ تاپ

شمال

1200

05/01/2023

2

102

تبلت

شمال

800

15-02-2023

3

103

تلفن

شمال

800

2023-03-10

4

104

تبلت

شمال

500

01-04-2023

5

105

لپ تاپ

جنوب

1300

05-05-2023

6

106

تبلت

جنوب

700

2023-06-20

7

107

تلفن

غرب

900

15-07-2023

8

108

لپ تاپ

شرق

1300

10-08-2023

1. ROW_NUMBER()

تابع ROW_NUMBER() یک عدد منحصر به فرد به هر سطر در یک پارتیشن اختصاص می دهد که توسط یک ستون مشخص مرتب شده است.

وظیفه: یک شماره ردیف منحصر به فرد به هر فروش در یک منطقه بر اساس مبلغ فروش (بیشترین به کمترین) اختصاص دهید.

شناسه فروش، منطقه، مبلغ، ROW_NUMBER() OVER (پارتیشن بر اساس منطقه به ترتیب مبلغ DESC) به عنوان شماره ردیف از...



Source link