به سوالات FAQ اضافه شد.
فرض بگیرید جدول مورد نظر table_name نام دارد، رکورد های جدول بر اساس group_id که میتونه کدمشتری، کدکارمند یا هرچیز مشابه ای باشه گروه بندی شده، تاریخ هر سطر در فیلد date_value ذخیره شده است.
مساله 1:
بدست آوردن کدهر گروه همراه با اولین و آخرین (کوچکترین و بزرگترین) تاریخ:
SELECT group_id, MIN(date_value) AS first_date,
MAX(date_value) AS last_date
FROM table_name
GROUP BY group_id;
مساله 2:
بدست آوردن سطرهای مربوط به اولین تاریخ و آخرین تاریخ به ازای هر گروه
SELECT *
FROM
(
SELECT *,
ROW_NUMBER() OVER(PARTITION BY group_id ORDER BY date_value) as first_rnk,
ROW_NUMBER() OVER(PARTITION BY group_id ORDER BY date_value DESC) as last_rnk
FROM table_name
)D
WHERE first_rnk = 1
OR last_rrn = 1;
اگر لایق بودیم و خداکمک کرد انشاءاله قرار هست یک آموزش پیرامون توابع ویندو تهیه کنم.