PDA

View Full Version : نمایش کاربری که بیشترین خرید رو داشته



imdeveloper
شنبه 09 خرداد 1394, 15:23 عصر
سلام
میخوام اسم کاربری که بیشترین خرید رو داشته رو نشون بدم
با چه کوئری میشه نوشت؟

parvizwpf
شنبه 09 خرداد 1394, 18:58 عصر
شما اول بگید ساختار دیتا و مشتریاتون چطوره

imdeveloper
شنبه 09 خرداد 1394, 19:12 عصر
یه جدول دارم که توش اطلاعات کاربرا هست و یه جدول دیگه هم دارم که برای فاکتور هست که توش اطلاعات تحویل گیرنده و قیمت کل فاکتور و آیدی کاربر هست و یه جدول دیگه که فاکتور آیتم هست و توش محصولاتی که برای خرید انتخاب کرده قرار میگیره

sajadsobh
شنبه 09 خرداد 1394, 20:21 عصر
خب چیزی که واضخه شما باید یه فیلد واسه جدول مشتری ها (یا همون کاربرها) قرار بدی، که هر وقت مشتری خریدی انجام میده کنتور بندازه :لبخندساده: یعنی یه واحد بهش اضافه شه. بعد هم موقع جستجو تعیین کنی که کدوم مشتری خرید بیشتری تا اون لحظه انجام داده.

imdeveloper
شنبه 09 خرداد 1394, 21:13 عصر
خب یه کار دیگه هم فکر کنم بشه اما نمیدونم چجوری پیاده سازی کنم
اینکه یه کوئری بنویسم که از جدول فاکتور بیاد آیدی کاربری که بیشتر از همه تکرار شده رو در بیاره (پس اون میشه کسی که بیشترین خرید و داشته)

sajjad_kochekian
یک شنبه 10 خرداد 1394, 17:55 عصر
کوئری شما شبیه این میشه

SELECT TOP 10 CustomerCode,SUM(Price) AS sumPrice FROM sale AS s
INNER JOIN saleDetail AS sd ON s.id=sd.ids
GROUP BY CustomerCode
ORDER BY SUM(Price) DESC

sajadsobh
یک شنبه 10 خرداد 1394, 19:28 عصر
اگه فرض کنیم جدول فاکتور شما یه چیزی شبیه این باشه:

131841

می تونید با این کوئری کاربری که بیشترین خرید رو انجام داده بدست بیارید:

SELECT TOP(1) CustomerID, COUNT(*) AS BuyCount FROM Invoices
GROUP BY CustomerID
ORDER By BuyCount DESC

این کوئری میاد هر مشتری رو با تعداد خریدی که انجام دادند لیست میکنه و در آخر میاد به ترتیب نزولی مرتب میکنه. با استفاده از TOP(1) هم اومدم فقط سطر اولش رو برگردوندم که شامل فردیه که بیشترین خرید رو انجام داده.

imdeveloper
دوشنبه 11 خرداد 1394, 00:29 صبح
ممنون کوئری که دادین رو با کمی ویرایش تونستم به اون چیزی که میخواستم درارم
مرسی :قلب: