PDA

View Full Version : واکشی اولین و آخرین تاریخ ثبت شده مربوط به یک رکورد خاص



reza4359
دوشنبه 11 آذر 1392, 17:46 عصر
سلام چطوری میشه اولین و آخرین تاریخ ثبت شده مربوط به یک رکورد خاص را واکشی کرد؟

محمد سلیم آبادی
چهارشنبه 13 آذر 1392, 03:17 صبح
به سوالات 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;

اگر لایق بودیم و خداکمک کرد انشاءاله قرار هست یک آموزش پیرامون توابع ویندو تهیه کنم.