ورود

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;






سلام
دانش آموزانی وجود دارند که با خوب متوسط ظعیف در عملکرد درسی براشون رکورد ثبت شده . میخواهیم دانش آموزی که بیشتر ضعیف رو گرفته پیدا کنیم .
مثلا ده مورد ضعیف گرفته یکی ۵ مورد ضعیف گرفته و ...