gpt4 book ai didi

php - 如何使用 Group By 对数据库表进行分组

转载 作者:行者123 更新时间:2023-11-29 12:15:32 24 4
gpt4 key购买 nike

我正在开发一个简单的 php 购物车网站,该网站连接到名为 products 的数据库,并具有订单、用户、产品表。订单表具有以下字段:OrderId、product_id、user_id、quantity...例如,当用户订购 3 个产品时。数据从 SESSION['cart'] 插入,下面是查询

$query = "insert into orders (product_id,user_id,Quantity) values ('$key','$id','$value')"; 
mysql_query($query);

现在的问题是,如果用户订购了不止一种产品,则会生成三个 orderID,因为他订购了 3 个产品,并且每个 orderId 都引用该产品。当我使用 select 语句时,它显示用户的所有订单,但我想对它们进行分组,这样,如果一个人一次订购了 1 个以上的产品,列表将显示单个 orderID,但显示订购用户的所有产品它。下面是订单表中的数据库表记录和我正在使用的选择查询的图像..

OrderId  product_id  user_id  Quantity  
<小时/>
  1           4        1           1
3 21 1 3
4 19 1 1
5 21 1 3
6 19 1 2

$sql1=mysql_query("SELECT * FROM orders,USER WHERE user.`user_id`=orders.`user_id`");

while($row = mysql_fetch_array($sql1))
{
$sReturn .='
<tr>
<td>' . $row['user_id'] . '</td>
<td>' . $row['OrderId'] . '</td>
<td>' . $row['product_id'] . '</td>
<td>' . $row['Quantity'] . '</td>
</tr>';
}

可以使用什么选择查询有人告诉我 groupby 和 sum ..

最佳答案

这将根据product_id获得每个用户的产品总和

已更新

 SELECT SUM( orders.Quantity ) , COUNT( orders.order_id ) , orders.user_id
FROM orders join user on (user.`user_id`=orders.`user_id`)
GROUP BY orders.user_id

关于php - 如何使用 Group By 对数据库表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29861905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com