我需要从数据库中计算一些内容,以便在我的网站上显示。表名“尝试”和表字段“项目符号”。我想要从那个领域算上一切。对于所有用户,因为它是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 ");
但没有任何事情发生'。
答案 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)