这是我的表
+----+---------------+-------+
| 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来完成这个功能。但我不知道从哪里开始。
有人能帮忙吗?
不确定是否需要在此处进行分组。试试这个:
从产品中选择*ORDER BY cat ASC,id ASC
这首先按cat排序,然后按id排序。注意,应该在cat字段上有一个索引来优化这个查询(我已经假设id是主键)。
在我看来,你需要
SELECT * FROM products ORDER BY cat ASC
以获得您想要的输出。