MySQL查询:按优先级顺序排序并防止大类别组

时间:2013-09-01 13:36:35

标签: php mysql

我有一张像这样的表:

id name      category oindex
1  product1  cat1     3
2  product2  cat1     5
3  product3  cat2     1
4  product4  cat1     2
5  product5  cat4     1

oindex 列是产品的评估,从1到5(更少到更重要),其余的我认为非常冗长。

我想通过oindex选择整个表格顺序,以便最优质的产品出现在第一个位置,但我不希望有来自同一类别的许多连续产品。例如,如果您通过oindex选择和排序,您将获得前两个位置的product2和product1,但它们属于同一类别,因此从同一个类别连续2个是不正确的。理想情况下,它应该采用product2然后采用product4,然后返回product1。

你会如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话就是这样:

SELECT * FROM table GROUP BY category ORDER BY oindex