集团,订单,限制

时间:2012-07-17 16:25:54

标签: php mysql sql

我有这个脚本:

 $limit1=10; 
 $MySQL=mysql_connect($myhost,$myuser,$mypass);
    mysql_select_db($sitedb);
    $rank = mysql_query('SELECT usrid,num FROM 7stat '.' GROUP BY usrid ORDER BY num desc LIMIT '.$limit1.''); 
    $i=1;
    while ($row = mysql_fetch_array($rank)) 
    {
    echo '<tr>
       <td align="center">'.$row['usrid'].'</td><br>
      <td align="center">'.$row['num'].'</td>
    </tr> ';
    $i++;
    }

基本上应该向我展示前十名冲浪者,但事实并非如此。 在这个页面中可以找到结果: http://123autotraffic.com/12.php

查看最后一张表。

我的用户ID:1

我今天取得了840学分(num),从30000开始,但剧本显示为52。

请帮忙。


CREATE TABLE IF NOT EXISTS `7stat` (
  `usrid` int(10) unsigned NOT NULL DEFAULT '0',
  `date` date NOT NULL DEFAULT '0000-00-00',
  `num` float unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`usrid`,`date`),
  KEY `date` (`date`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

我必须使用群组,因为它是每月统计数据 如果未分组,则会多次显示相同的用户ID。

已修复。非常感谢大家。

1 个答案:

答案 0 :(得分:2)

更新脚本中的查询:

$rank = mysql_query('SELECT `usrid`, SUM(`num`) AS mysum FROM `7stat`
                       GROUP BY `usrid` ORDER BY mysum DESC LIMIT '.$limit1); 

并替换代码中的所有位置:

$row['num']

使用:

$row['mysum']