我有一个main
包含以下行的表:
id | name | rank
----+--------+------
1 | Ali | a
2 | Sami | b
3 | Khan | c
4 | Kamran | d
5 | Imran | e
6 | Asad | a
7 | Nawid | v
8 | Jamil | c
9 | Usman | j
Run Code Online (Sandbox Code Playgroud)
我想计算 column 中具有某些值的行rank
。例如,我想按如下方式对值进行分组:
(a,b,v)
应按名称归入一组myvalues
。(c,d,j)
应该按名称出现在另一个组中yourvalues
。(e)
应该通过 name 到达另一个组extravalues
。我想要的结果:
myvalues | yourvalues …
Run Code Online (Sandbox Code Playgroud) 我想使用具有多个条件的 LIKE 运算符来选择记录,我可以OR
在条件之间使用,但我正在寻找一种解决此问题的简短方法。
我正在尝试以下查询:
select *
from employees
where name like '%.%'
OR name like '%,%'
OR name like '%;%'
OR name like '%/%' -- this code goes very long
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来缩短这个查询。
提前感谢任何帮助。
我有一个表出席如下:
create table attendance (id int, name varchar(30), status varchar(10), date date)
Run Code Online (Sandbox Code Playgroud)
该表有以下记录:
insert into attendance values (1,'John','absent','2016-03-01');
insert into attendance values (1,'John','absent','2016-03-02');
insert into attendance values (1,'John','absent','2016-03-03');
insert into attendance values (2,'Sam','present','2016-03-04');
insert into attendance values (3,'Sam','absent','2016-03-05');
insert into attendance values (1,'John','absent','2016-03-06');
insert into attendance values (1,'John','absent','2016-03-07');
insert into attendance values (1,'John','absent','2016-03-08');
insert into attendance values (1,'John','present','2016-03-09');
insert into attendance values (1,'John','absent','2016-03-10');
insert into attendance values (1,'John','absent','2016-03-11');
insert into attendance values (1,'John','present','2016-03-12');
insert into attendance values (1,'John','absent','2016-03-13');
Run Code Online (Sandbox Code Playgroud)
现在我要计算一个人连续三个缺席记录的次数。
结果应如下所示: …
我想将查询结果导出为 xlsx 文件格式。
我知道我们可以将其导出为 csv 文件,但我想将其导出为 xlsx 文件。
像下面这样:
copy(select name_related from hr_employee limit 3) to '/tmp/ABC.xlsx'
delimiter ',' xlsx header;
Run Code Online (Sandbox Code Playgroud) 我有两个表如下:
create table first (id int, name varchar(20));
create table second (id int, value char(1),fid int);
Run Code Online (Sandbox Code Playgroud)
这些表具有以下记录:
insert into first values (1,'Ahmad'),(2,'Sami'),(3,'Khan');
insert into second values
(1,'a',1)
, (2,'b',1)
, (3,'c',2)
, (4,'d',1)
, (5,'e',2)
, (6,'f',3);
Run Code Online (Sandbox Code Playgroud)
我想从表中选择那些在表second
中具有匹配记录first
的单行记录。
所需的输出是:
身份证 | 姓名 | 价值 | 价值 | 价值 ---+-------+-------+-------+------- 1 | 艾哈迈德 | | 乙 | d 2 | 萨米语 | | | 电子 | 3 | 汗 | f | |
table 的单个记录的值数量 …