Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为MySQL中的一列选择最近3条记录_Mysql_Sorting_Subquery_Limit - Fatal编程技术网

为MySQL中的一列选择最近3条记录

为MySQL中的一列选择最近3条记录,mysql,sorting,subquery,limit,Mysql,Sorting,Subquery,Limit,以下是我的SQL查询: SELECT s.name, f.message, e.timestamp, e.result, o.details FROM event e LEFT JOIN feed f ON e.id=f.id LEFT JOIN oper o ON o.id=e.id LEFT JOIN system s ON o.id=e.id WHERE (e.date = ’15-06-2020’) AND e.oper_i

以下是我的SQL查询:

SELECT s.name,
       f.message,
       e.timestamp,
       e.result,
       o.details
FROM  event e
LEFT JOIN feed f ON e.id=f.id 
LEFT JOIN oper o ON o.id=e.id 
LEFT JOIN system s ON o.id=e.id 
WHERE (e.date = ’15-06-2020’)
AND e.oper_id IN (SELECT id from oper 
                               where state = ‘READY1’ or  state = ‘READY2’ or state = ‘READY2’
                               group by state
                               order by state)
现在我的e.results表中有3个以上的结果,但是我只想取最近的3个结果,所以按时间戳排序。因此,我的SQL最终结果应该是只有最近的3个结果

我试着用DESC LIMIT 3从事件顺序中选择e.result来代替e.result,但它不起作用


你知道我怎样才能做到这一点吗。我正在查询MySQL。

首先按降序排序,并在ORDERBY子句后面的sql中设置3的限制。 更改子查询中的列

SELECT s.name,
   f.message,
   e.timestamp,
   e.result,
   o.details FROM event e
   LEFT JOIN feed f ON e.id=f.id 
LEFT JOIN oper o ON o.id=e.id 
LEFT JOIN system s ON o.id=e.id 
WHERE (e.date = ’15-06-2020’) AND
e.oper_id IN (SELECT id,state from oper 
   where state = ‘READY1’ or  state = ‘READY2’
   group by state order by state desc LIMIT 3)

尝试此操作。

如果选择的是id,但按状态分组,则子查询无效。示例数据和所需结果将有助于澄清您的问题。请不要使用Word进行格式设置,并使用日期数据类型存储日期解决上述问题后,请参阅: