按用户标识对SQL查询进行分组

时间:2013-02-17 11:26:04

标签: 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. 在单个表格中显示由userid
  2. 排序的所有项目
  3. 使用GROUP BY userid,我设法创建尽可能多的表,因为有不同的用户ID
  4. 但我似乎无法将两者结合到预期的结果中,并且非常感谢我对我做错的一些建议。

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

1 个答案:

答案 0 :(得分:1)

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

使用

查询
select * from orders order by userid, orderid

在PHP中就像这个psudo代码

$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;
}