小编Kou*_*rev的帖子

PostgreSQL中的分组限制:显示每组的前N行?

我需要为每个组取前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)

sql postgresql

157
推荐指数
4
解决办法
7万
查看次数

用可变数量的空格替换制表符,保持对齐

我有一个制表符分隔的文件,由 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 工具可以为我做这件事,还是我应该自己编写?

bash awk whitespace tabs

1
推荐指数
1
解决办法
106
查看次数

标签 统计

awk ×1

bash ×1

postgresql ×1

sql ×1

tabs ×1

whitespace ×1