我想从名为log_buyers的数据库中选择用户。 log_buyers是一个包含我销售给用户的所有商品的日志。我在字段USERID上使用DISTINCT只收集买家一次(有些人购买更多商品)。我这样用它:
$lsel_log = mysql_query("select DISTINCT userid from log_buyers order by id");
while ($log = mysql_fetch_array($lsel_log)) {
现在我想拥有10个最常见的用户,并查看最高付费用户中的每位用户。 在同一个表(log_buyers)中。
$lsel_log = mysql_query("select DISTINCT userid from log_buyers order by id");
while ($log = mysql_fetch_array($lsel_log)) {
$lsel_total_5 = mysql_query("select * from log_buyers where userid = '$log[userid]' order by id desc");
$total = mysql_num_rows($lsel_total_5);
$total = $total * 5;
echo "$log[userid] - $total";
代码工作正常,但他正在为所有购买的用户执行此操作。我只想为前10位用户做这件事。 (在log_buyers中最常见)。
答案 0 :(得分:0)
在第一个查询中,在查询末尾添加LIMIT 10
答案 1 :(得分:0)
您应该在查询中添加LIMIT 10这是一个非常简单的问题。
编辑:我想您会找到答案there
答案 2 :(得分:0)
Using GROUP BY
with COUNT
可以为您提供该表中最常见的userid
。
SELECT userid FROM log_buyers
GROUP BY userid
ORDER BY COUNT(userid) DESC
LIMIT 10