SQL条件选择查询

时间:2018-08-02 12:09:36

标签: mysql sql

我使用SQL查询从我的工作中的应用程序收集有关日常工作的信息。 我对SQL不太熟悉,但是我不得不编写查询,该查询只从表中选择状态确切的行,而不是确切的时间。我的意思是,我有JobStatus(string)列和StartTime(datetime)列,我只能从中选择JobStatus正在“等待”的这些行,并在此状态下保持30分钟以上。重要的是要说行可以每隔一分钟更改其状态,这就是为什么我只需要JobStatus从30分钟起就不会更改的那些行的原因。我希望我的问题很清楚。
能否仅使用sql进行此操作,如果可以,则有任何建议。 提前致谢!

3 个答案:

答案 0 :(得分:1)

SELECT JobStatus, StartTime FROM Your_Table 
WHERE JobStatus = "Waiting" 
AND 30 <= TIMESTAMPDIFF(MINUTE, StartTime, NOW());

这可以帮助您使作业处于等待状态30分钟以上。

答案 1 :(得分:0)

如果StartTime代表JobStatus更新后的时间戳,则可以尝试如下操作:

SELECT JobStatus, StartTime FROM Your_Table WHERE StartTime = ?

您会更改'?'通过与用于填充StartTime列相同的功能。

我希望这会有所帮助。祝你好运!

答案 2 :(得分:0)

此操作将检索状态为StartTime的数据,然后等待30分钟

SELECT
  *
FROM
  YOUR_TABLE T
WHERE
  T.JobStatus='waiting' 
  AND T.StartTime<DATE_ADD(now(), INTERVAL -30 MINUTE)