View Full Version : دستوری برای پیدا کردن بیشترین مقدار یک فیلد
A_1397
چهارشنبه 07 تیر 1391, 15:26 عصر
فرض کنید یه تیبل داریم که شامل3تا فیلد هستش. فیلد1=نام و فیلد2=نمره و فیلد3=بیشترین نمره. که مثلا شخصی به اسم علی در این جدول دارای 3تا نمره و احمد دارای 5 نمره و اکبر 1 نمره دارد. حالا من میخام با یه دستور فیلد3 جدولم برابر بشه با بیشترین نمره هر فرد. یعنی بیاد ببینه از 3تا نمره علی کدوم بیشتره اونو بزاره داخل فیلد3 هر 3تا رکورد مربوط به علی.
88823
baktash.n81@gmail.com
چهارشنبه 07 تیر 1391, 17:46 عصر
سلام
احتمالا جوابتون یه چیزی تو این مایه ها خواهد بود ... امتحان کنید ... یه Update که به ازای هر رکورد بزرگترین مقدار رو داخل ستون بیشترین مقدار قرار می ده ...
Update Table1 Set BishtarinNomre=(Select Max(Nomreh) From Table1 as t1 Where t1.Name=Name)
A_1397
پنج شنبه 08 تیر 1391, 08:33 صبح
سلام دوست عزیز. ولی نباید دداخل دستورم از Where t1.Name=Name استفاده کنم چون اینجوری باید به ازای تمام نام های داخل جدول یه بار کیوری رو اجرا کنم و بگم مثلا "علی"=Where t1.Name بعد دوباره واسه یه نام دیگه. راهی وجود نداره که اتوماتیک خودش تمام رکوردهایی که فیلد1شون یکی هست رو تشخیص بده و آپدیتشون کنه؟
baktash.n81@gmail.com
پنج شنبه 08 تیر 1391, 10:51 صبح
شما همون t1.name=name رو بنویسید خودش برای همه اسم ها اینکارو انجام می ده ... در واقع منظور از Name دوم Table1.Name هست ... نه اینکه شما اسم اون شخص رو بنویسی اونجا ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.