我需要为每个组取前N行,按自定义列排序.
鉴于下表:
db=# SELECT * FROM xxx;
id | section_id | name
----+------------+------
1 | 1 | A
2 | 1 | B
3 | 1 | C
4 | 1 | D
5 | 2 | E
6 | 2 | F
7 | 3 | G
8 | 2 | H
(8 rows)
Run Code Online (Sandbox Code Playgroud)
我需要每个section_id的前两行(按名称排序),即类似于的结果:
id | section_id | name
----+------------+------
1 | 1 | A
2 | 1 | B
5 | 2 | …Run Code Online (Sandbox Code Playgroud) 我有一个制表符分隔的文件,由 7 列组成。
ABC 1437 1 0 71 15.7 174.4
DEF 0 0 0 1 45.9 45.9
GHIJ 2 3 0 9 1.1 1.6
Run Code Online (Sandbox Code Playgroud)
我需要的是用可变数量的空格字符替换制表符,以保持列对齐。请注意,我不希望每个选项卡都被 8 个空格替换。相反,我想要第 1 行第 1 列(8 - 长度(ABC)= 5)之后的 5 个空格,第 1 行第 2 列之后的 4 个空格(8 - 长度(1437)= 4)等。
是否有 linux 工具可以为我做这件事,还是我应该自己编写?