• 2 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از تکرار در نمایش اطلاعات
#1
سلام ، فرض کنید ما یک جدول داریم که در آن یک سری اعداد قرار گرفته به صورت زیر :

20
15
20
56
100
90
4
3
20
50
56
20

در این داده های که در جدول ما قرار گرفته تکرار اعداد زیاد انجام شده و عدد 20 مثلاً 4 بار و 56 دو بار تکرار شده

ممنون میشم دوستان راهنمایی کنند که چگونه میتونیم یک کوئری بنویسیم که اگر تکرار در جدول وجود داشت فقط یک بار اون عدد رو نمایش بده ( مثلاً اگر 20 چهار بار در جدول قرار داره فقط یک بار نمایش داده بشه )
این دستور رو پیدا کردم
SELECT DISTINCT FROM tablename
اما ....
دوستان باید عرض کنم که من میخوام مقادیر user_id تکراری نباشن و تمام فیلدهای جدول هم select بشن اما در این کوئری اگه من به جز user_id چیزه دیگه بعد از distinct بزارم مثه قبل نمایش داده میشه اما اگر فقط DISTINCT user_id بزارم از هر مقدار یکی نمایش میده ولی مشکل اینه که مقادیر رو به ترتیب sort میکنه

من میخوام مقادیر تکراری نداشته باشه و بر حسب time اطلاعات رو order by time DESC نمایش بده

مثلاً اگه user_id 20 ده بار در این در جاهای مختلف این جدول insert شده بود فقط آخرین رکورد مربوط به user_id 20 رو بر حسب زمان نمایش بده

امیدوارم منظورمو رسونده باشم
سلام من میخوام این کار رو انجام بدم :

وقتی کاربران سایت یک تغییراتی در profile خودشون انجام میدن ، اون تغییرات در این جدول ذخیره میشه

مثلاً userID 20 میاد و یک پست به بلاگش اضافه میکنه و در این جدول یک رکورد اضافه میشه که :
id = 100
userID = 20
mode = 2 ( دو یعنی بلاگ را آپدیت کرده )
date = 88/7/3
time = 787889787

حالا شاید این کاربر بعدش بیاد و پروفایل خودشم آپدیت کنه و از همون موقعی که تو سایت ثبتنام کرده تا حالا بالای 10 بار تغییرات انجام داده و تو این جدول ذخیره کرده
حالا من میخوام فقط آخرین تغییرات این کاربران رو بگیرم و نمایش بدم

مثلاً اگر userID 20 ده بار تو جدول باشه و userID 100 پنج بار و ... اون کوئری بیاد فقط آخرین فعالیت اون کاربر که تو جدول قرار گرفته نشون بده به جای 10 بار تغییراتی که در گذشته انجام داده
  پاسخ
تشکر شده توسط :
#2
می تونی از group by استفاده کنی
  پاسخ
تشکر شده توسط :
#3
سلام من توضویح اینکه کلاً میخوام چه کار کنم رو دز آخر نوشتم و شما group by رو معرفی کردین

میشه لطفاً کمی بیشتر توضویح بدین
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان