我正在使用SUM参数查询数据库以统计数据库表中的一列。例如,在不使用SUM参数的情况下,我得到以下结果:UserID | Name | Email | points-------+--------+------------------+-------1 | name 1 | email1@email.com | 51 | name 1 | email1@email.com | 81 | name 1 | email1@email.com | 22 | name 2 | email2@email.com | 82 | name 2 | email2@email.com | 83 | name 3 | email3@email.com | 34 | name 4 | email4@email.com | 9上面代码中使用的SQL语句:SELECT * FROM db_tbl ORDER BY points DESC我想要实现的是:消除表中的重复用户。对点列进行计数,并改为向用户显示组合点。例子UserID | Name | Email | points-------+--------+------------------+-------1 | name 1 | email1@email.com | 152 | name 2 | email2@email.com | 163 | name 3 | email3@email.com | 34 | name 4 | email4@email.com | 9正在测试的 SQL 语句:SELECT user_id, name, email, SUM(points) FROM db_tbl ORDER BY points DESC我遇到的问题是当我将 SQL 语句更改为 use 时SUM,它会生成一个警告:在第 27 行使用未定义的常量点 - 假定为“点”(这将在未来版本的 PHP 中引发错误)此查询示例还将 points int 替换为单词points。我还在学习PHP,并在下面发布了完整的代码以供参考。function ctlTopUsers() {global $wpdb;$result = $wpdb->get_results ( "SELECT user_id, name, email, SUM(points) FROM db_tbl order by points DESC" ); foreach ( $result as $print ) { echo '<table border="1">'; echo '<tr>'; echo '<th>Name</th>'; echo '<th>Email</th>'; echo '<th>Points</th>'; echo '</tr>'; echo '<tr>'; echo '<td>' . $print->name.'</td>'; echo '<td>' . $print->email.'</td>'; echo '<td>' . $print->points.'</td>'; echo '</tr>'; echo '</table>'; }} 错误与第 27 行有关,该行将是点的回波。
3 回答

牧羊人nacy
TA贡献1862条经验 获得超7个赞
您可以使用此查询
SELECT `UserID`, `Name`, `Email`,SUM(`points`) As total
FROM `data` GROUP BY `UserID` ORDER BY SUM(`points`) DESC
- 3 回答
- 0 关注
- 164 浏览
添加回答
举报
0/150
提交
取消