收集数据库列中的数据

时间:2017-03-07 09:47:53

标签: php mysql

数据库表1

ID  -  Name   -   Quantity   -   Price  -  Date
1      Jack       100            10        07-03-2017
2      Justine    120            12        07-03-2017
3      Jack       150            15        07-03-2017
4      Justine    200            20        07-03-2017
6      Jack       10             1         06-03-2017

数据库表2(结果)

ID  -  Name   -   Quantity   -   Price  -  Date
1      Jack       250            25        07-03-2017
2      Justine    220            22        07-03-2017
6      Jack       10             1         06-03-2017

我有数据库表1.我想在数据库表1中收集相同名称和日期的价格。我怎么能? // PHP& Mysql

3 个答案:

答案 0 :(得分:0)

尝试此查询。

SELECT name, SUM(quantity), SUM(price), date FROM db1 GROUP BY name, date

答案 1 :(得分:0)

您可以使用以下查询来获得所需的结果:

SELECT `id`,`name`, SUM(`quantity`), SUM(`price`), `date` FROM `db1` GROUP BY `name`, `date`

答案 2 :(得分:0)

  

请注意stackoverflow不是教程网站,我们不是在这里教你如何编码,而是为了帮助你进行特定的编码   您在现有代码中遇到的问题

如果你可以谷歌php mysql教程,你会得到成千上万的结果选择,至少显示你试图自己解决这个问题的一些努力。话虽如此,这里有你如何做到这一点:

你有两种方法可以达到预期的效果;

  1. 使用mysqli

    php.net手册始终是一个良好的开端http://php.net/manual/en/book.mysqli.php一切,mysqli的每个功能都可以从那里获得。

  2. 2使用PDO,   如果不是您需要了解的所有内容,请参阅手册:http://php.net/manual/en/book.pdo.php

    您也可以关注此博客,涵盖大部分重要方面:https://phpdelusions.net/pdo

    回到你的问题,

      

    我假设你知道如何创建数据库和表,所以我不会浪费   时间就到了。

    你需要创建一个与php通信的连接,通过我使用PDO的方式。

    <强> db.config.php

    <?php
    $host    = '127.0.0.1';
    $db      = 'test';
    $user    = 'root';
    $pass    = '';
    $charset = 'utf8';
    
    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $opt = [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
            ];
    
    
    $dbh = new PDO($dsn, $user, $pass, $opt);
    ?>
    

    然后是一个页面来进行查询,所以我创建索引页

    <强>的index.php

    <?php
    include'db.config.php'; //calling the database file
    
    
    
    $stmt = $dbh->query("SELECT `id`,`name`, SUM(`quantity`) as quantity, SUM(`price`) as price, `date` FROM `test` GROUP BY `name`, `date`")->fetchAll();
    
    echo "<table border=\"1\">";
    echo "<tr>";
    echo "<th>ID</th>";
    echo "<th>Name</th>";
    echo "<th>Quantity</th>";
    echo "<th>Price</th>";
    echo "<th>Date</th></tr>";
    foreach ($stmt as $row) {
    
        echo "<tr>";
        echo "<td>" . $row['id'] . "</td>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['quantity'] . "</td>";
        echo "<td>" . $row['price'] . "</td>";
        echo "<td>" . $row['date'] . "</td>";
    
    
    }
    
    ?>
    

    结果:

    enter image description here

    这就是全部,希望这会有所帮助,请按照互联网上的教程进行操作。

    注意:不要习惯为您完成完整的代码,而不是SO的工作方式。