PHP MySQL - 按顺序分组。在集团内订购

时间:2012-08-03 15:46:23

标签: mysql join group-by sql-order-by

这是我的表

+----+---------------+-------+
| id | product name  | cat   |
+----+---------------+-------+
| 0  | product A     | 1     |
| 1  | product B     | 2     |
| 2  | product C     | 1     |
| 3  | product D     | 3     |
+----+---------------+-------+

我想要实现的输出是:

产品A
产品C
产品B
产品D

以下是我正在使用的查询:

SELECT * FROM products GROUP BY cat ORDER BY id ASC

现在我对MySQL非常缺乏经验,而且我正在尝试对结果进行分组,并在他们的小组内进行排序。

上述查询(逐字)给出了语法错误。

经过一番研究,(看到一些有类似问题的帖子)我想我可能需要使用JOIN来完成这个功能。但我不知道从哪里开始。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

不确定您是否需要在此进行分组。试试这个:

SELECT * from products ORDER BY cat ASC,id ASC

首先按猫,然后按id排序。请注意,您应该在cat字段上有一个索引来优化此查询(我已经假设id是主键)。

答案 1 :(得分:-1)

在我看来,你需要

SELECT * FROM products ORDER BY cat ASC

获取您正在寻找的输出。