Php 如何从mysql获取替代记录?

Php 如何从mysql获取替代记录?,php,mysql,yii,Php,Mysql,Yii,我有一张这样的桌子 我需要这样的东西 如何解决这个问题。有什么方法可以自己查询或使用php 我在mysql中尝试了orderby rand,但在我的情况下我不会工作 我认为只有一个原因是通过php。请告诉我一些方法。在mySql中,假设表名为'products',下面的查询将给出结果 select a.* from products a , products b where a.product_id >= b.product_id and a.brand = b.brand grou

我有一张这样的桌子

我需要这样的东西

如何解决这个问题。有什么方法可以自己查询或使用php

我在mysql中尝试了orderby rand,但在我的情况下我不会工作


我认为只有一个原因是通过php。请告诉我一些方法。

在mySql中,假设表名为'products',下面的查询将给出结果

select a.* from products a ,  products b where a.product_id >= b.product_id and a.brand = b.brand group by a.product_id order by count(b.product_id) , a.product_id;
结果是

+------------+---------+------+-------+
| product_id | name    | etc  | brand |
+------------+---------+------+-------+
|          1 | sample1 | etc  |     1 |
|          4 | sample4 | etc  |     2 |
|          2 | sample2 | etc  |     1 |
|          5 | sample5 | etc  |     2 |
|          3 | sample3 | etc  |     1 |
|          6 | sample6 | etc  |     2 |
+------------+---------+------+-------+

你能解释一下原因吗?你为什么喜欢这种订购方式?是什么决定了产品4排在1之后而不是产品5?产品2在4之后,而不是产品3这就是你的答案。@krishna在我的视图页面中,我想在网格视图中显示其他品牌。@paPhid没有决定哪一个是第一位的。但我需要一些替代品牌的东西。@eggyal大约7个品牌。