استخراج آخرین رکورد ثبت شده برای کاربران در Sql Server
با سلام
چطور می توان کویری نوشت که در آن بتوان کلیه آخرین رکوردهای ثبت شده برای فیلد کلید خارجی را استخراج کرد
من کویری به شکل زیر نوشتم
این کویری تمام اطلاعات مرتبط به یک سال تمام افراد موجود سیستم را استخراج می کند چطور می شود آخرین رکورد ثبت شده برای همه افراد را از این گزارش خارج کرد؟
بهتر این هست که برای سوال پرسیدن جزییات رو کامل بفرمایید تا افرادی که قصد دارن وقت بذارن و پاسخ بدن بتونن پاسخ بهتری بدن. در هر صورت این سوال رو برای شما و سایر افرادی که می خوان موضوع استخراج آخرین رکورد برای گروهی از رکوردها در Sql Server رو انجام بدن پاسخ میدم.
استخراج آخرین رکورد در یک گروه در Sql
خب فرض کنید جدولی دارید با نام Users که لیست کاربران شما درون اون ذخیره میشه. این جدول دارای فیلدهای زیر می باشد :
- UserID
- FirstName
- Family
خب در این جدول 3 فیلد داریم که شامل آیدی کاربر، نام و نام خانوادگی کاربر می باشد.
حالا فرض کنید جدول دیگری داریم که لیست پرسش های کاربران درون اون ذخیره شده. یعنی هر کاربر می تونه چندین سوال رو بپرسه. و ما میخوایم ببینم که هر کاربر آخرین سوالی رو که پرسیده چی بوده. بنابراین یک جدول هم به نام QuestionTbl داریم که شامل فیلدهای زیر می باشد.
نکته : فیلد UserID کلید خارجی در جدول QuestionID می باشد.
- QuestioID
- QuestionTitle
- UserID
خب جدول بالا شامل ستونهای جدول QuestionTbl یا همون جدول سوالات می باشد.
حالا درخواست ما چی هست ؟
ما میخواهیم لیست آخرین سوال هر کاربر رو داشته باشیم.
کوئری بدست آوردن لیست آخرین سوال هر کاربر (در واقع میشه گفت آخرین رکورد هر گروه)
select
questionID,questionTitle,q.UserID
from
QuestionTbl q
inner join
(select UserID, max(questionID) as maxid from QuestionTbl group by UserID) as b on
q.questionID = b.maxid
دقت کنید که در کوئری بالا بعد از inner join یک کوئری دیگه نوشتیم که درون اون بر روی فیلد UserID گروه بندی رو انجام دادیم و گفتیم بالاترین Id رو برای هر گروه بدست بیار که در واقع همون آخرین سوال هر کاربر میشه. البته کوئری های دیگه ای هم میشه برای این منظور نوشت که در این لینک میتونید مطالعه بفرمایید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )