MySQL-从数据库中提取一个数字并在同一个查询中使用它
MySQL-extract a number from db and use it in same query
table 1
在我的数据库中有很多列,包括 id
和 time
。一个 id 被发送到服务器,然后我必须从 table 和 运行 中提取其相应的时间(比如 t
),这样的查询:
SELECT * FROM(
(SELECT * FROM table1 WHERE time>t AND ...clause 1...) // query A
UNION
(SELECT * FROM table1 WHERE time>t AND ...clause 2...) // query B
) h LIMIT 24;
如何在上述查询中包含一个子查询,该子查询提取 t
并使其可由查询 A 和查询 B 访问?
我想你需要 Mysql WITH (Common Table Expression) 这里,
WITH CTE AS (
SELECT * FROM table1 WHERE time>t
)
SELECT * FROM (
(SELECT * FROM CTE AND ...clause 1...) // query A
UNION
(SELECT * FROM CTE AND ...clause 2...) // query B
) h LIMIT 24;
table 1
在我的数据库中有很多列,包括 id
和 time
。一个 id 被发送到服务器,然后我必须从 table 和 运行 中提取其相应的时间(比如 t
),这样的查询:
SELECT * FROM(
(SELECT * FROM table1 WHERE time>t AND ...clause 1...) // query A
UNION
(SELECT * FROM table1 WHERE time>t AND ...clause 2...) // query B
) h LIMIT 24;
如何在上述查询中包含一个子查询,该子查询提取 t
并使其可由查询 A 和查询 B 访问?
我想你需要 Mysql WITH (Common Table Expression) 这里,
WITH CTE AS (
SELECT * FROM table1 WHERE time>t
)
SELECT * FROM (
(SELECT * FROM CTE AND ...clause 1...) // query A
UNION
(SELECT * FROM CTE AND ...clause 2...) // query B
) h LIMIT 24;