0

データベース内のすべてのユーザーが持っている「クレジット」の合計量を計算するために、いくつかの計算を検討しています。

ユーザーID、ユーザー名、電子メール、およびクレジットの列を持つusersというテーブルを持つデータベースがあります。ユーザーID、ユーザー名、電子メール、クレジットなどのテーブルのすべての結果をテーブル列として表示し、下部にすべてのユーザークレジットの合計を表示する方法があるかどうか疑問に思っていました:

 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 で実行できるその他の数式があるかどうか疑問に思っていました

オリバー

4

4 に答える 4

2

これをすべて 1 つのクエリで行う必要がある場合はWITH ROLLUP、特定の条件で使用できます。

http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

特に、あなたがやろうとしていることに関する例については、そのリンクの下部にあるコメントを読んでください。

個人的には、集計を個別に行うか、アプリケーション側で行うことを好みます。

于 2011-12-08T18:11:45.557 に答える
1

使用できますSUM(Credits) as Total Credits。詳細はこちら

于 2011-12-08T18:14:45.833 に答える
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;
于 2011-12-08T18:12:13.713 に答える
0

最初に行う必要があるのは、MySQL でデータベースを作成することだけです。作成方法がわからない場合は、次の構文を使用して、クエリを実行するだけで済みますが、最初にデータベースを作成することを忘れないでください。

テーブル mhs を作成します ( UserID INT NOT NULL AUTO_INCREMENT PRIMARY KEY、例 varchar(20)、Email_Address varchar(30)、Credits 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);   
}

?>

これがあなたのお役に立てば幸いです。

于 2011-12-08T18:30:36.587 に答える