MySql;你如何找到两个查询之间的时间并按最少时间对它们进行排序

MySql; how do you find time between two queries and sort them by least time

我有以下问题要回答:

For each tag, retrieve the 10 to-dos with quickest completion time (i.e. the time between the creation and the completion of the to-do)

我试过了

Select *
From ToDoItem, Tag, ItemTag
Where 
    time between CreationDate and 
    CompletionDate is ASC AND
    Tag.Id = ItemTag.ToDoId AND 
    ItemTag.TagId = ToDoItem.Id
Limit 10

所以我首先想找到创建日期和完成日期之间的时间,然后我希望它们升序排列,以便随着时间的推移对它们进行排序,然后我 select 所有标签,最后我想将它们限制为最多 10 个。

但这不起作用,我认为问题出在 "Time between creationdate and CompletionDate"。

所以我的问题如下:

如何找到两个包含日期的不同表格之间的时间?

Description of table

2 个查询问题:

  1. 您需要使用datediff()函数来获取之间的时间。

  2. 应使用 order by 语句对结果进行排序,而不是在 where 部分。

    Select *
    From ToDoItem, Tag, ItemTag
    Where   
      Tag.Id = ItemTag.ToDoId AND 
      ItemTag.TagId = ToDoItem.Id
    Order by datediff(completiontime, creationtime) asc
    Limit 10