View Full Version : دستور مشخص کردن نفری که بیشترین امتیاز رو داره
korosh00
سه شنبه 24 مرداد 1402, 21:40 عصر
سلام
دانش آموزانی وجود دارند که با خوب متوسط ظعیف در عملکرد درسی براشون رکورد ثبت شده . میخواهیم دانش آموزی که بیشتر ضعیف رو گرفته پیدا کنیم .
مثلا ده مورد ضعیف گرفته یکی ۵ مورد ضعیف گرفته و ...
fakhravari
چهارشنبه 25 مرداد 1402, 08:07 صبح
SELECT COUNT(s.IdWarehouseForms) AS Tedad,s.IdAgent FROM WareHouse.Inputs s
JOIN WareHouse.InputsDetails sdd ON sdd.IdInputs = s.Id
GROUP BY s.IdAgent
همچین چیزی میشه ساده بخوای ببینیش بعد یه سورت و top
از توابع رنکینگ میشه استفاده کرد
bitasoft.ir
یک شنبه 19 شهریور 1402, 21:42 عصر
برای پیدا کردن دانشآموزی که بیشترین تعداد امتیاز "ضعیف" را دارد و بر اساس تعداد آنها به ترتیب نزولی مرتب شدهاند، میتوانید از دستور SQL زیر استفاده کنید. ابتدا تعداد امتیازهای "ضعیف" را با فرض اینکه را برای هر دانشآموز محاسبه کنید و نتیجه را در یک زیردستور (subquery) ذخیره کنید. سپس، در دستور اصلی، دانشآموزی که بیشترین تعداد امتیاز "ضعیف" را دارد را با استفاده از عبارت WHERE و ORDER BY بازیابی کنید. در اینجا دستور SQL ارائه شده است:
WITH WeakCountCTE AS (
SELECT StudentID, COUNT(*) AS WeakCount
FROM YourTableName
WHERE Score = 'ضعیف'
GROUP BY StudentID
)
SELECT TOP 1 StudentID
FROM WeakCountCTE
ORDER BY WeakCount DESC;
لطفاً نام جدول و نام ستونها را با نامهای واقعی در پایگاه دادهتان جایگزین کنید.
البته به جای
WHERE Score = 'ضعیف'
هم میتونین از ID مربوط به رکورد ضعیف استفاده کنین به شکل زیر:
WITH WeakCountCTE AS (
SELECT StudentID, COUNT(*) AS WeakCount
FROM YourTableName
WHERE ScoreID = 3
GROUP BY StudentID
)
SELECT TOP 1 StudentID
FROM WeakCountCTE
ORDER BY WeakCount DESC;
سلام
دانش آموزانی وجود دارند که با خوب متوسط ظعیف در عملکرد درسی براشون رکورد ثبت شده . میخواهیم دانش آموزی که بیشتر ضعیف رو گرفته پیدا کنیم .
مثلا ده مورد ضعیف گرفته یکی ۵ مورد ضعیف گرفته و ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.