给定 Postgres 中的表格,例如
CREATE TABLE t1 (
type text NOT NULL,
value int NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
where typecould be A, BorC并给出一个任意的重复模式,如
A B B C B B
Run Code Online (Sandbox Code Playgroud)
如何查询表,以便首先根据模式然后根据值对结果进行排序?换句话说,第一行是A最低的value,第二行是B最低的value,第三行是B第二低的value,依此类推。如果我们用完了特定的类型,我们就移动到模式中的下一个字母(即如果我们没有更多的Cs 要返回,模式就会变成ABBBB)。
| 类型 | 价值 |
|---|---|
| 一种 | 1 |
| 乙 | 1 |
| 乙 | 2 |
| C | 1 |
| 乙 | 3 |
| 乙 | 4 |
| 一种 | 2 |
| 乙 | 5 |
| 乙 | 6 |
| 乙 | 7 |
| 乙 | 8 |
| 一种 | 3 |
| 乙 | 9 … |