我有2张表如下
销售(表1):
sales_id, userid(buyerid), product id, productname, orderid, status
用户(表2):
userid, username, pass
现在,我需要展示在我的购物网站上定期购买的顶级客户。
我怎样才能做到这一点?
我试过
SELECT A.(*), B.username
FROM sales A, users B
WHERE A.userid=B.userid AND A.status='delivered' LIMIT 10;
而且,只有当最少购买量超过10或15时,我才需要显示记录。
现在,同样必须循环并显示为使用用户名的前10名买家,需要知道如何循环
需要帮助,谢谢
答案 0 :(得分:3)
加入两个表,按userid
对它们进行分组并计算记录数。试试这样的事情,
SELECT a.userID, a.`username`, COUNT(*) totalCount
FROM users a
INNER JOIN sales b
ON a.userid = b.userid
WHERE b.`status` = 'delivered'
GROUP BY a.userID
ORDER BY totalCount DESC
LIMIT 10