这可能是一个非常简单的问题,但没有找到完美的答案.查询是找到第二高的工资,可以通过使用max和limit来完成.
使用MAX
select max(salary) from table1 where
salary < (select max(salary) from table1);
Run Code Online (Sandbox Code Playgroud)
使用限制
select salary from table1 where
salary < (select max(salary) from table1)
order by salary desc
limit 1;
Run Code Online (Sandbox Code Playgroud)
因此,考虑到1000个记录,哪个查询会更好,耗时更少.
提前致谢.
我试图在thenofcase语句中包含 select 语句,但输出不符合预期。我知道有不同的方法可以做到这一点,但是可以按照我想要的方式完成吗?
使用以下示例数据:
create table example(name varchar(10));
insert into example values
('abc'),('bcd'),('xyz');
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个查询(这里是小提琴):
select
case when ((select * from example where name='abc')>=1)
then (select * from example where name='abc')
else (select count(*) from example)
end
from example
Run Code Online (Sandbox Code Playgroud)
但它输出
3 3 3
预期输出(如果name='abc'存在)
name
abc
Run Code Online (Sandbox Code Playgroud)
如果不是count(*)
提前致谢
如果我的表中有一列是字符串列表,那么如何在列表中的特定项之后将新条目附加到表中的列表中(对于所有行)?
for example:
apple, orange, peach, banana,....
Run Code Online (Sandbox Code Playgroud)
所以这里让我说我想lemon在peach进入每一行之后追加.我知道条目"桃子"出现在每一行中它只出现一次(列表中桃子的位置可能不同,列表中其他项目的出现可能会有所不同).提前致谢!
我试过(但没工作)
UPDATE TABLE_NAME
concat (COLUMN_NAME, 'lemon')
where COLUMN_NAME like '%peach,%';
Run Code Online (Sandbox Code Playgroud) 我有一个表调用Master,我需要所有匹配日期的所有可能记录,根据用户输入@FromDate和@Todate....
主表:
ID FromDate ToDate
1 18/03/2014 18/03/2014
2 01/03/2014 05/03/2014
3 06/03/2014 08/03/2014
Run Code Online (Sandbox Code Playgroud)
我的查询:
select ID
from master M
where M.FromDate between('10/03/2014') and ('17/03/2014')
or M.ToDate between ('10/03/2014') and ('17/03/2014')
Run Code Online (Sandbox Code Playgroud)
用户输入:
FromDate ToDate
01/03/2014 06/03/2014
01/03/2014 31/03/2014
09/03/2014 09/03/2014
Run Code Online (Sandbox Code Playgroud)
预期产出:
2,3
1,2,3
No Records
Run Code Online (Sandbox Code Playgroud) 如何将值插入映射?
CREATE OR REPLACE PROCEDURE ZC_FILL_WNIOSKI IS
TYPE MAP_ARRAY IS TABLE OF NUMBER INDEX BY VARCHAR2(30);
WNIOSKI_MAP MAP_ARRAY;
BEGIN
INSERT INTO WNIOSKI_MAP
SELECT ID_WNIOSEK_ORG, ID_WNIOSEK FROM ZC_WNIOSKI;
...
Run Code Online (Sandbox Code Playgroud)
当前版本给出了以下错误:
PL/SQL: ORA-00942 in line with INSERT.
Run Code Online (Sandbox Code Playgroud)