
نوشته شده توسط
korosh00
سلام ما در یک جدول مشخصات داریم با کدمشخص و دریک جدول اجناس . یک جدول ساختیم که کد فرد و خرید هاش رو وارد میکنه . حالا یک کوئری میخوام که تعداد خریدهای افراد رو محاسبه بکنه و بگه کدوم نفر بیشترین خرید رو داشته .ممنون
برای محاسبه تعداد خریدهای هر فرد و پیدا کردن نفری که بیشترین خرید را داشته است، میتوانید از دستورات SQL و یک کوئری گروهبندی (GROUP BY) استفاده کنید. در ادامه، یک کوئری SQL برای انجام این کار آورده شده است:
SELECT
p.PersonCode, -- کد فرد
p.FirstName, -- نام فرد (اگر در جدول مشخصات وجود دارد)
p.LastName, -- نام خانوادگی فرد (اگر در جدول مشخصات وجود دارد)
COUNT(o.PurchaseID) AS TotalPurchases -- تعداد خریدها
FROM
Persons AS p -- جدول مشخصات افراد
LEFT JOIN
Orders AS o -- جدول خریدها
ON
p.PersonCode = o.PersonCode -- ارتباط بین جدول مشخصات و جدول خریدها
GROUP BY
p.PersonCode, p.FirstName, p.LastName -- گروهبندی بر اساس کد فرد و نامها
ORDER BY
TotalPurchases DESC -- مرتبسازی نزولی بر اساس تعداد خریدها
LIMIT 1; -- بازهبندی نتایج تا یک ردیف (نفر بیشترین خرید را دارد)
توجه داشته باشید که در کوئری بالا، جدول مشخصات افراد به نام Persons و جدول خریدها به نام Orders فرض شده است. شما باید نام جداول و نام ستونها را با نامهای دقیق جداول و ستونهای خود تطبیق دهید. این کوئری تعداد خریدها را برای هر فرد محاسبه میکند و نتایج را بر اساس تعداد خریدها به ترتیب نزولی مرتب میکند. با استفاده از LIMIT 1 میتوانید نفری که بیشترین تعداد خرید را داشته است را دریافت کنید. اگر نام و نام خانوادگی هر فرد را هم داخل جدول مشخصات داشته باشید، میتوانید این اطلاعات را نیز به نتیجه اضافه کنید.