mysql - MySQL-从数据库中提取一个数字并在同一个查询中使用它
问题描述
table 1
在我的数据库中有很多列,包括id
和time
。一个 id 被发送到服务器,然后我必须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;
推荐阅读
- javascript - Angular 10:[对象 HTMLInputELEMENT] 错误
- java - 通用参数与多态参数
- c# - c#如何在我运行程序datagridview时立即显示数据
- python - Uvicorn + Gunicorn + Starlette 服务时卡住,没有sigkill无法重启服务
- excel - MS Excel (Office 365) 中的数据透视表
- java - 等待 animate().translationY(-600).setDuration(300); 在运行下一行代码之前完成
- ios - Swift:在 collectionViewCell 的 prepareForReuse 崩溃中删除 playerLayer
- angular - 与 PrimeNg p-grid & bootstrap 填充使用冲突
- javascript - 网络中的lottiefiles动画性能问题
- github - 致命:无法运行 C:/Windows/System32/OpenSSH/ssh.exe:没有这样的文件或目录