php - 按用户 ID 分组 SQL 查询

标签 php mysql

我有一个包含以下列的 orders 表:

-userid
-orderid (primary key)
-date
-name
-qty

所以我想在摘要页面的表格中显示所有订单并将它们分组在每个用户 ID 下。所以就像

Userid: 0001
| Orderid | Name   | QTY |
|  1001   | Item A | 10  |
|  1002   | Item B | 5   |

Userid: 0003
| Orderid | Name   | QTY |
|  1003   | Item C | 6   |
|  1004   | Item C | 7   |

到目前为止,我已经进行了实验并得到了:

  1. 在单个表格中显示按用户 ID 订购的所有商品
  2. 使用 GROUP BY userid,我成功创建了与不同用户 ID 一样多的表

但我似乎无法将两者结合成预期的结果,并且非常感谢一些关于我做错的事情的建议。

提前致谢,希望我的解释有意义!

最佳答案

我认为您需要在 PHP 中执行此操作

查询方式

select * from orders order by userid, orderid

在 PHP 中类似这样的伪代码

$this_user_id=0;

for (each order line)
{
get fields from db result;
if ($this_user_id!=$userid)
{
$this_user_id=$orderid// save change of userid flag
print user heading;
}

print order lines;
}

关于php - 按用户 ID 分组 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920551/

相关文章:

php - 内存缓存和 PHP : Fatal error: Class 'Memcache' not found in

mysql - 带有可选参数的 JpaRepository

sql - 将整数格式化为字符串

javascript - 如何通过单击按钮上传文件

javascript - 创建数据的多维数组不会在 javascript 上生成数组

php - 让 Composer (php 依赖管理器)在 docker 镜像构建上运行

php - sqlfiddle.com 中的 MYSQL unhex() 不等于 PHP hex2bin(),两者给出不同的结果

PHP fatal error : Cannot use object of type PDOStatement as array

mysql - mysql中的日期函数结果不同为什么?

php - mysql查询运行缓慢