ورود

View Full Version : سوال: مشکل با تابع max در sql



Castel_XD
جمعه 14 فروردین 1388, 01:07 صبح
سلام . من با تابع Max توو Sql یه کوئری نوشتم که بزرگترین عدد یک فیلد توو رکورد ها رو از دیتابیس واکشی کنه و اینکار رو هم می کنه .
اما مشکل اینجاست که اگه بزرگترین عدد مثلا 10 دو بار توو رکوردها وجود داشته باشه فقط یه بار نشون می ده و من می خوام که هر دوتا رو نشون بده تا سایر اطلاعاتشو بدست بیارم . ممنون .
اینم کوئری من :


$select_victor = $db->sql_query("SELECT MAX(point) AS TotalPoint,`id`,`uid`,`seriall` FROM `forecast` WHERE title ='$forcast_title' AND active='1'");

zoofa
جمعه 14 فروردین 1388, 01:37 صبح
وقتی بزرگترین عدد را بدست آوردید یک کوئری دیگه بفرستید و تمام رکوردهایی که دارای بزرگترین عدد است را پیدا کنید

Castel_XD
جمعه 14 فروردین 1388, 03:33 صبح
aa_shiyari_1386 (http://barnamenevis.org/forum/member.php?u=62598) جان میشه با کد توضیح بدی من sql زیاد بلد نیستم اگه برات امکان داره زحمتش رو بکش

ممنون

zoofa
جمعه 14 فروردین 1388, 12:15 عصر
اول همان كوئري بالا را اجرا كنيد و مقدار TotalPoint را درون يك متغير بريزيد

بعد كوئري زير را اجرا كنيد


"SELECT `point`,`id`,`uid`,`seriall` FROM `forecast` WHERE title ='$forcast_title' AND active='1' AND point = " + نام متغير




البته فكر كنم هر 2تا كوئري را مي تونيد در يك كوئري اجرا كنيد

Castel_XD
شنبه 15 فروردین 1388, 00:52 صبح
اقا دست شما درد نکنه واقعا من ای دی شما رو هم اد کردم.

مشکل اولم به کمک شما حل شد یعنی الان برای پیدا کردن بزرگترین مشکل ندارم یعنی اگه 5 نفر بیشترین امتیاز رو داشته باشن رو میتونم لیست کنم ( مثلا امتیاز 15 )

ولی الان میخوام بعد از 15 دومین عنصر بزرگ رو پیدا کنم به فرض بعد از 15 که 5 نفر اون امتیاز رو داشتن بعد از عدد 15 عدد 13 بزرگترین هستش و 7 نفر این امتیاز رو دارن میخوام اینها رو بکشم بیرون چه طور این کارو تو sql انجام بدم.

با تشکر از شما و زحماتتون