2

我有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 名买家,也需要知道如何循环

需要这方面的帮助,谢谢

4

1 回答 1

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
于 2012-09-20T08:57:02.547 回答