使用与前10名不同的

时间:2014-08-26 15:23:40

标签: mysql distinct

我想从名为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中最常见)。

3 个答案:

答案 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