在这里提问还是新手,所以这是我第二次尝试解决我面临的问题。
我有一张已经按分数订购的桌子。每个记录可以是 3 种类型之一。我想按分数对表格重新排序,但对每 10 条记录的组合施加额外的限制。特别是,有由 3 种类型中的每一种组成的特定组合。
在下面的示例中,我希望至少有 2 个 C 型,最多 2 个 A 型
我有的
------------------------------------------
ID Score Type
------------------------------------------
1 100 A
2 99 B
3 97 B
4 92 A
5 91 C
6 85 A
7 83 B
8 81 B
9 75 B
10 70 B
11 65 A
12 61 C
13 59 B
我想要的是
------------------------------------------
ID Score Type
-----------------------------------------
1 100 A
2 99 B
3 97 B
4 92 A
5 91 C
7 83 B
8 81 B
9 75 B
10 70 B
12 61 C
我认为这不能通过 Group By 或 usort 以有效的方式解决。我最初的解决方案是导出到 PHP 并在那里进行重新排序。