0

我有这个脚本:

 $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++;
    }

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

检查最后一张桌子。

我的用户名: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。

固定的 。非常感谢大家。

4

1 回答 1

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']
于 2012-07-17T16:43:53.133 回答