php - 从 SQL 数据库获取信息并使用 PHP 显示的问题

标签 php mysql sql

我设置了一个 MySQL 数据库,用于跟踪程序运行时的所有 session ,并跟踪各种变量。

我不太擅长 SQL,我想看看是否可以从 1 个特定用户获取所有数据以及我想要的变量数据,并将其全部添加到一起。

数据库的结构看起来像这样

id - username - data1- data2- data3- timestamp
0 - name1 - 0- 0- 0-10/10/2010
0 - name2 - 0- 0- 0-10/10/2010
0 - name3 - 0- 0- 0-10/10/2010
0 - name1 - 0- 0- 0-10/10/2010
0 - name1 - 0- 0- 0-10/10/2010
0 - name3 - 0- 0- 0-10/10/2010

这只是一个例子,我想在 PHP 表中显示信息,其中包含每个用户的数据总数,按照我当前的设置方式进行操作,它将在表中为每个 session 创建一行由用户而不是全部相加。这是我的 SQL 调用

$sql = 'SELECT * 
        FROM database
        ORDER BY data1 DESC';

我的 php 代码是

<?php
$no     = 1;
$runtime = 0;
$profit = 0;
$deaths = 0;
while ($row = mysqli_fetch_array($query))
{
    $amount  = $row['profit'] == 0 ? '' : number_format($row['profit']);
    echo '<tr>
            <td>'.$no.'</td>
            <td>'.$row['username'].'</td>
            <td>'.convert_seconds($row['runtime']).'</td>
            <td>'.number_format($row['profit']).'</td>
            <td>'.$row['deaths'].'</td>
        </tr>';
    $runtime += $row['runtime'];
    $profit += $row['profit'];
    $deaths += $row['deaths'];
    $no++;
}?>

我知道某些变量不匹配,这只是我的代码的一个示例。我怎样才能让它从我的数据库中获取数据并添加每个用户名的所有 session 并显示出来?

最佳答案

您需要使用“GROUP BY”子句,然后对相关列进行求和。

喜欢:

SELECT username, SUM(data1), SUM(data2), SUM(data3)
FROM database
GROUP BY username

关于php - 从 SQL 数据库获取信息并使用 PHP 显示的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53608374/

相关文章:

php - 在 PHP 后端 API 中验证 Cognito 身份

mysql - org.hibernate.mappingexception : No Dialect mapping for JDBC type: -4

php - 如何防止 PHP 中的 SQL 注入(inject)?

MySQL 选择传输时间表

mysql - 您的 SQL 语法有误...创建触发器时出现错误

SQL 导入/导出向导不允许创建表 #temp

sql - 如何根据 "many"中的某些标准对基于一对多关联的查询结果进行分组?

php - 使用 Composer 时清洁应用程序部署

php - 在 Laravel 中播种数据库时使用进度条

php - Codeigniter 应用程序中的 API 集成