php - 从我的数据库中选择顶级客户

标签 php mysql sql

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

需要帮助,谢谢

最佳答案

连接两个表,按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

关于php - 从我的数据库中选择顶级客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12509234/

相关文章:

mysql - 表条目限制

php - 如何从 php 进行的 SQL 查询中获取值?

php - 当 PHP 需要 shell 时使用不同于/bin/sh 的路径

php - PHP 页面中的延迟响应

php - 使用 ExpressionEngine 并收到此错误 : A Database Error Occurred, 错误号 : 1117, 列太多

mysql - 如何递归选择MySQL表中的所有 parent ?

php - 有没有办法强制 Yii2 在每次请求时重新加载模块 Assets ?

php - 如何在同一个 Doctrine2 对象上正确插入或更新

mysql - 在 MySQL 和 HBase 中批量插入/加载

mysql - 一个查询中给定时间段内用户的第一个和最后一个记录