Mysql 从结果集中选择TOP 1
我想检索使用Union连接的查询结果集的前1个值Mysql 从结果集中选择TOP 1,mysql,sql,Mysql,Sql,我想检索使用Union连接的查询结果集的前1个值 SELECT TOP 1 * FROM ( SELECT paused_time as end_time FROM production_time WHERE created_time = curdate() UNION SELECT resumed_time as end_time FROM pause_timer WHERE created_time =
SELECT TOP 1 * FROM
(
SELECT paused_time as end_time
FROM production_time
WHERE created_time = curdate()
UNION
SELECT resumed_time as end_time
FROM pause_timer
WHERE created_time = curdate()
UNION
SELECT end_time as end_time
FROM timer_idle
WHERE created_time = curdate()
) as end_time
ORDER BY end_time DESC
但是没有得到预期的结果。据我所知,MySQL中没有
TOP
关键字。您需要的是限制
:
SELECT * FROM
(
SELECT paused_time as end_time FROM production_time WHERE created_time = curdate()
UNION
SELECT resumed_time as end_time FROM pause_timer WHERE created_time = curdate()
UNION
SELECT end_time as end_time FROM timer_idle WHERE created_time = curdate()
) as end_time
ORDER BY end_time DESC
LIMIT 1
MySQL中的
TOP 1
更像是ORDER BY。。。限制0,1这真的有效吗:created\u time=curdate()
?