我正在研究数学,以计算出数据库中所有用户的“学分”总数。
我有一个数据库,其中包含一个名为users的表,其中包含用户ID,用户名,电子邮件和信用列。 我想知道是否有一种方法可以将所有结果放在一个表中,如userid,用户名,电子邮件和信用作为表colums,然后在底部有所有用户信用的总和:
UserID | Username | Email Address | Credits
-------+----------+---------------+--------
1 | example | e@mail1.com | 4
2 | another | e@mail2.com | 3
3 | lastone | e@mail3.com | 1
-------+----------+---------------+--------
| | Total Credits | 8
-------+----------+---------------+--------
我想知道这是否可行以及您可以使用mySQL数据库和PHP
进行的任何其他数学公式奥利弗
答案 0 :(得分:2)
如果您需要在一个查询中执行此操作,则可以在特定条件下使用WITH ROLLUP
。
http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html
特别是,请阅读该链接底部的评论,以获取与您尝试执行的操作相关的示例。
就个人而言,我更喜欢单独进行聚合,或者在应用程序方面进行聚合。
答案 1 :(得分:1)
您可以使用SUM(Credits) as Total Credits
。更多信息here
答案 2 :(得分:0)
你可以这样做:
select UserId, Username, EmailAddress, Credits from users order by userid
union
select '' as UserId,'' as Username,'Total Credits' as email,sum(credits) as credits from users;
答案 3 :(得分:0)
首先,您需要做的只是在MySQL中创建数据库,如果您不知道如何创建这里的语法只需要运行查询,但不要忘记先创建数据库。
创建表格mhs ( UserID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 示例varchar(20), Email_Address varchar(30), 积分INT )
现在执行数据库后,我们只需要使用php文件进行配置。
以下是php中的代码列表,您可以选择编写自己的代码
<?php
showdatame();
function showdatame()
{
$inttotalcredits=0;
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("praktikum", $con);
$result = mysql_query("SELECT * FROM mhs");
echo "<table border='1'>
<tr>
<th>UserId</th>
<th>UserName</th>
<th>Email Adress</th>
<th>Credits</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $row[2] . "</td>";
echo "<td>" . $row[3] . "</td>";
$inttotalcredits += $row[3];
echo "</tr>";
}
echo "<td>" . "" . "</td>";
echo "<td>" . "" . "</td>";
echo "<td>" . "Total Credits" . "</td>";
echo "<td>" . $inttotalcredits . "</td>";
echo "</table>";
mysql_close($con);
}
?>
我希望这对你很有帮助。