TGViewer
کانال تخصصی SQLSERVER کانال تخصصی SQLSERVER @sqlserver_professional · 848 subscribers
Post #574 2.03K
#یافتن اولین رکورد در هر گروه به همراه مشخصات اضافی
کوئری بالا یکی از مواردی است که معمولاً در تهیه گزارشات مورد نیازمون هستش.
1️⃣یکی از روش ها استفاده از Subquery و Join است یعنی در یک مرحله، اولین رکورد از هر گروه رو انتخاب مبکنبم و در مرحله دوم بر اساس یک فیلد(تاریخ، ID و ...) اطلاعات اضافی رو از جدول اصلی استخراج می کنیم

2️⃣روش دیگر استفاده از Left Join هست. با استفاده از شرط خاصی که در جوین قرار می دهیم و با عملگر IS Null اطلاعات مورد نیاز رو استخراج می کنیم.
در لینک زیر این دو روش رو به نحو خوبی با مثالی مناسب و توضیحات کافی تشریح شده :
(روش های دیگری مانند استفاده از Cross/Outer Apply نیز برای تولید چنین خروجی وجود دارد)
⚠️اما حالاتی نیز وجود داره که ممکنه شما فیلد مشترکی بین Subquery و جدول اصلی برای جوین زدن نداشته باشید!! در این حالات از Window Function استفاده می کنیم که در ادامه به توضیح اون خواهیم پرداخت.

http://www.cryer.co.uk/brian/sql/sql_first_record_per_group.htm
www.cryer.co.uk SQL to select the first record in a group SQL to select the first (or last) record in a group.
More from @sqlserver_professional
  1. Oct 29, 2022photo post
  2. Sep 13, 2022🗣🗣مژده، مژده: راه اندازی مجدد سایت codeeatsleep.ir با حمایت های خودتان، ما را در جهت انت…
  3. Apr 9, 2021Post #663
  4. Apr 4, 2021Post #662
  5. Mar 30, 2021عملیات انجام شده از زمان بروزرسانی یک رکورد، تا ثبت نهایی تغییرات بر روی دیسک
  6. Mar 30, 2021Post #660
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →