如何获取php中超过x行的特定列值?
在我的MySQL“purchase”表中,有一列存储用户名,因为每个完成的购买都存储在这里,还有其他详细信息,如购物车id、金额,我想获取用户名中超过10/50/100次购买的内容 我可以获得每个用户的购买记录数,但我想按行数过滤结果。下面是我的查询,用于获取每个用户的记录数如何获取php中超过x行的特定列值?,php,mysql,Php,Mysql,在我的MySQL“purchase”表中,有一列存储用户名,因为每个完成的购买都存储在这里,还有其他详细信息,如购物车id、金额,我想获取用户名中超过10/50/100次购买的内容 我可以获得每个用户的购买记录数,但我想按行数过滤结果。下面是我的查询,用于获取每个用户的记录数 $query = MySQL_query("SELECT user_name, COUNT(*) as count FROM purchase GROUP BY user_name ORDER BY count DESC"
$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
我在while循环中添加了if语句,效果很好。我知道还有很多方法可以达到这个效果。我的代码:
$query = MySQL_query("SELECT user_name, COUNT(*) as count FROM purchase GROUP BY user_name ORDER BY count DESC") or die(MySQL_error());
while($row = mysql_fetch_array($query))
{
$user_name = $row["user_name"];
$num_rows = $row['count'];
if($num_rows > '100'){
echo $user_name." – ".$num_rows."<br>";
}
}
$query=MySQL\u query(“按用户名顺序按计数说明选择用户名,计数(*)作为采购组的计数”)或die(MySQL\u error());
while($row=mysql\u fetch\u array($query))
{
$user_name=$row[“user_name”];
$num_rows=$row['count'];
如果($num_rows>'100'){
echo$user_name.&ndash;“$num_行。”
”;
}
}
这段代码从高到低检索了所有购买量超过100次的用户名 您可以使用sql的HAVING语句。谢谢,你的第一个代码给了我一个用户的结果,他们总共购买了10、50、100次。但我想让购买数量超过x的用户购买。可能是,我的问题可能不太清楚。@user4093,在这种情况下,将条件更改为
>x