PDA

View Full Version : سوال: نمایش رکوردهایی که مقدار برابری دارند ( نمایش تمام رکوردهایی که داده های تکراری متفاوت دارن)



as13851365
دوشنبه 13 آبان 1387, 09:02 صبح
:قلب: با سلام خدمت دوستان گرامی . :قلب:

خوب من از بانک اکسس استفاده می کنم
و در داخل این بانک جدول با نام table1 دارم
که در آن فیلدی با نام X دارم
کل رکورد های موجود 1500 تا است که هر روز هم چیزی مابین 5 تا 10 تا رکورد جدید اضافه می شه :متفکر:

حالا داخل این فیلد X یک عدد ما بین 0 تا 5000 قرار داره ( این عدد برای امتیاز دادن به رکوردها می باشد ) و مرتب برای هر رکورد در حال تغییر است . :خجالت:

حالا می خوام لیست فیلدهایی که امتیازات برابر دارند رو ببینم چه راهی پیشنهاد می کنید ! :تشویق:

:قلب: :قلب: :قلب: :قلب:
یک مثال : مثلا داده های زیر رو برای مقدار فیلد X در نظر بگیرید :
[0,1,2,1,0,5,2,7,4,8,3,5,0,1,2]
این ها مقادیر مربوط به فیلد X بودن حالا می خوام لیست زیر رو ببینم :
[0,0,0,1,1,1,2,2,2,5,5]
:قلب: :قلب: :قلب: :قلب:

در حال حاضر من برای انجام این کار از روش زیر استفاده می کنم : :چشمک:
یک فیلد با نام x1 دارم که از نوع بولین (true - false ) است که در اول کار مقدار تمام فیلد های مربوط به این فیلد رو برابر false قرار می دم و در مرحله بعد از اولین رکورد شروع به فیلتر کردن تک تک رکوردها برا اساس مقدار فیلد X می کنم و اگر تعداد رکورد ها بیشتر از یک بود و مقدار فیلد X1 هم false بود مقدار تمام فیلد های x1 این فیلتر رو به true تبدیل می کنم و الا آخر ...:متعجب:
و در آخر بر اساس مقدار فیلد x1 جدول رو فیلتر می کنم ! کل این کارها کمی طول می گشه . :گریه:

:کف: حالا اگر راه حلی ساده تر از این سراغ دارید بهم بگید ممنون می شم :کف:

ghabil
دوشنبه 13 آبان 1387, 22:19 عصر
ضمن تشکر از اینهمه ابراز احساستی که کردی یکمی هم وقت میزاشتی عنوان تاپیک رو یکمی واضح تر میکردی بد نبود :


select * from table1 where x in (select x from table1 group by x having count(*) > 1) order by x

as13851365
سه شنبه 14 آبان 1387, 15:00 عصر
ممنون از کمکی که کردی
درباره عنوان هم باید بگم که من عنوانی ساده تر از این نتونستم پیدا کنم که منظور من رو برسونه

ولی در کل خیلی ممنون دست خوش