php - 如何在 php 中获取超过 x 行的特定列值?

标签 php mysql

在我的 MySQL“购买”表中,一列存储用户名,因为每次完成的购买都与其他详细信息(如购物车 ID、金额)一起存储在这里,我想获取用户名有超过 10/50/100 次购买的内容。

我可以获得每个用户的购买记录数,但我想按行数过滤结果。这是我为每个用户获取记录数的查询。

$query = MySQL_query("SELECT user_name, COUNT(*) as count FROM purchase GROUP BY user_name ORDER BY count DESC") or  die(MySQL_error());

谢谢

最佳答案

使用HAVING子句

SELECT user_name, 
COUNT(*) as count1 
FROM purchase 
GROUP BY user_name 
HAVING COUNT(*) IN (100, 50, 10)
ORDER BY count1 DESC

(或)使用外部选择并像这样过滤

SELECT * FROM
(
SELECT user_name, 
COUNT(*) as count1 
FROM purchase 
GROUP BY user_name ) xx
WHERE count1 IN (100, 50, 10)
ORDER BY count1 DESC

关于php - 如何在 php 中获取超过 x 行的特定列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32985939/

相关文章:

php - 使用 Codeigniter 事务插入到两个表

mysql - 减少 Linux 服务器上磁盘 IO 的最佳方法

php - 仅从完整的 MySql 数据库导出导入表

php - LIKE查询无法检索数据,为什么?

javascript - 唯一标识单击按钮所在的表格行

PHP require_once 或 include_once 嵌套

mysql - 从其他表中加入最大值的最佳和最佳方式

php - 将结果重新调整为字符串

mysql - 启动tomcat时 Sonar SQLException

php - 将结果与 PHP/MySQL 中的另一个表进行比较