小编G o*_*one的帖子

max vs limit更有效

这可能是一个非常简单的问题,但没有找到完美的答案.查询是找到第二高的工资,可以通过使用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个记录,哪个查询会更好,耗时更少.

提前致谢.

mysql sql

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

在 case 的 then 子句中使用 select 语句

我试图在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(*)

提前致谢

mysql case

3
推荐指数
1
解决办法
2万
查看次数

MySql - 将字符串追加到列表中的特定位置

如果我的表中有一列是字符串列表,那么如何在列表中的特定项之后将新条目附加到表中的列表中(对于所有行)?

for example: 
apple, orange, peach, banana,.... 
Run Code Online (Sandbox Code Playgroud)

所以这里让我说我想lemonpeach进入每一行之后追加.我知道条目"桃子"出现在每一行中它只出现一次(列表中桃子的位置可能不同,列表中其他项目的出现可能会有所不同).提前致谢!

我试过(但没工作)

UPDATE TABLE_NAME 
concat (COLUMN_NAME, 'lemon') 
where COLUMN_NAME like '%peach,%'; 
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

在Sql Server中的两个日期条件之间

我有一个表调用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)

sql sql-server date

3
推荐指数
1
解决办法
2万
查看次数

如何在oracle中将值插入到map中?

如何将值插入映射?

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)

sql oracle map

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

标签 统计

sql ×4

mysql ×3

case ×1

date ×1

map ×1

oracle ×1

sql-server ×1