如何加入两个查询以进行子查询

How to join two queries to make a subquery

我的第一个查询给出了一组值,第二个查询给出了这组值中的最大值。 我想合并这两个查询。我试过如下:

第一次查询:

SELECT SUBSTR(column, INSTR(column, ' ')+1,3)  
from table  
WHERE column LIKE '#13 %'

第二次查询:

SELECT MAX(column)

合并:

SELECT MAX(column) 
FROM table WHERE column = (
  SELECT  SUBSTR(column, INSTR(column, ' ')+1,3)  
  from table  
  WHERE column LIKE '#13 %'
)

你能帮我如何合并两个查询吗?

第一个查询结果:

30
1
2
3
12
13
14
15
16
17
18
19

我想在我的第二个查询中获得这组值的最大值:30

SUBSTR(column, INSTR(column, ' ') + 1, 3) 的结果是一个字符串,因此您必须将其转换为数字,只需添加 0.
即可完成 然后使用MAX()聚合函数:

SELECT MAX(SUBSTR(column, INSTR(column, ' ') + 1, 3) + 0)  
FROM tablename  
WHERE column LIKE '#13 %';

因为你在 WHERE 子句中有条件 column LIKE '#13 %',那么你知道列中的第一个 space 在位置 4,所以你可以简化为:

SELECT MAX(SUBSTR(column, 5, 3) + 0)  
FROM tablename  
WHERE column LIKE '#13 %';