所以,我的问题可能会令人困惑,你可能会问我的意思是什么? 我们假设我的数据库中有以下表格(联系人):
+----+----------+-----------+
| id | provider | name |
+----+----------+-----------+
| 1 | MSC | Roger |
| 2 | DLL | Steven |
| 3 | DLL | Pensi |
| 4 | DLL | Kendswill |
| 5 | MSC | Mark |
| 6 | LAPTON | Steffan |
| 7 | MSC | John |
| 8 | MSC | Cori |
| 9 | LAPTON | Jason |
+----+----------+-----------+
我希望获取3个记录,因此它必须是特定的序列 - 查询应该为每个提供者生成一个记录的序列(或序列),每个序列中的不同记录(基于在这个示例中的提供程序上),例如,如果LIMIT设置为4,我应该得到:
+----+----------+-----------+
| id | provider | name |
+----+----------+-----------+
| 1 | MSC | Roger |
| 4 | DLL | Kendswill |
| 6 | LAPTON | Steffan |
| 7 | MSC | John |
+----+----------+-----------+
如果我将LIMIT设置为4并将OFFSET设置为4,那么现在我应该得到:
+----+----------+--------+
| id | provider | name |
+----+----------+--------+
| 5 | MSC | Mark |
| 2 | DLL | Steven |
| 9 | LAPTON | Jason |
| 8 | MSC | Cori |
+----+----------+--------+
依此类推。 正如您所看到的,它应该是一致的,并且应该以相同的方式组织(而不是随机方式)。
我听说过差距和岛屿,但是想知道是否有人可以对这个问题有所了解?
答案 0 :(得分:1)
为具有相同提供程序的每一行分配增加的数字。然后你可以按那个数字排序。每个提供者的行数首先显示为1,然后显示数字为2的行。
##original
Locals: [], Stack: []
Locals: [], Stack: []
##from ASM
Locals: [], Stack: []
Locals: [java.awt.Container], Stack: []