从数据库计数

时间:2014-02-07 11:23:09

标签: php mysql sql

我需要从数据库中计算一些内容,以便在我的网站上显示。表名“尝试”和表字段“项目符号”。我想要从那个领域算上一切。对于所有用户,因为它是id的,有用户列表,我需要计算所有用户的项目符号字段。这是该表的代码。需要为所有用户计算子弹数。

CREATE TABLE `attempts` (
  `username` char(50) NOT NULL,
  `victim` char(50) NOT NULL,
  `id` bigint(50) NOT NULL AUTO_INCREMENT,
  `ip` char(50) NOT NULL,
  `type` int(25) NOT NULL,
  `bullets` bigint(8) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

我试过

$totalbullets = mysql_query("SELECT COUNT(*) FROM attempts GROUP BY bullets ");

但没有任何事情发生'。

4 个答案:

答案 0 :(得分:1)

由于项目符号是一个int字段,你可以让mysql为你做一个数学计算,因为count()只计算总行数。

根据您的评论,我发现您不知道如何使用mysql_功能,所以这里是:

$query = mysql_query("SELECT
                        Username,
                        Sum(bullets) as Total_bullets
                    From
                        Attempts
                    Group by
                        Username
                    Order by
                        Total_bullets desc");

while($row = mysql_fetch_assoc($query))
{
    echo $row['Username'].' : '.$row['Total_bullets'].'<br>';
}

答案 1 :(得分:0)

试试这个

SELECT username, SUM(bullets) FROM attempts GROUP BY username

答案 2 :(得分:0)

mysql_query

不返回查询结果。它告诉你它是否成功。 [可选:传递连接。可以使用mysql_connect()]

创建

检查:  * http://www.w3schools.com/php/func_mysql_query.asp  * http://www.php.net/manual/en/function.mysql-query.php

语法:mysql_query(query,connection)


我认为应该没有`

mysql_query("SELECT COUNT(*) FROM attempts GROUP BY bullets "[, connection]);

如果您使用GROUP BY(多少行使用bullet = 1,多少行使用bullet = 2,...

,它将返回有多少用户拍摄x子弹

或者我甚至会将其改为

mysql_query("SELECT attempts.bullets, COUNT('') As numberOfUsers FROM attempts GROUP BY attempts.bullets "[, connection]);

请注意*''不应对结果产生影响,通常不会产生重大影响。但是''表明你不希望数据库返回任何值,只计算它们。

答案 3 :(得分:-1)

Get sum of MySQL column in PHP

SELECT SUM(column_name) FROM table_name;

在这种情况下,不需要分组。尝试下次搜索网站:)