数据库表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
答案 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教程,你会得到成千上万的结果选择,至少显示你试图自己解决这个问题的一些努力。话虽如此,这里有你如何做到这一点:
你有两种方法可以达到预期的效果;
使用mysqli
php.net手册始终是一个良好的开端http://php.net/manual/en/book.mysqli.php一切,mysqli的每个功能都可以从那里获得。
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>";
}
?>
结果:
这就是全部,希望这会有所帮助,请按照互联网上的教程进行操作。
注意:不要习惯为您完成完整的代码,而不是SO的工作方式。