日期上的SQL Min函数

时间:2015-03-06 00:04:13

标签: sql

Min功能如何在日期上工作?如果2条记录具有相同的日期和时间戳,则min函数返回1.它是否根据何时将记录放入表中来提取记录?

3 个答案:

答案 0 :(得分:2)

MIN是一个聚合函数,因此它会在您的问题的情况下返回1条记录。由于这两个记录具有相同的日期和时间戳,因此返回哪个日期和时间戳并不重要(它们相同)。最后,不考虑插入记录的时间。

答案 1 :(得分:0)

MIN()返回列中所有选定值中的最小值。在我看来,你的陈述可能只是在询问是否存在最低限度。

请发布您的sql语句。

可能这就是你所需要的:

SELECT MIN (date) AS "Min Date"  
FROM tablename;

答案 2 :(得分:0)

艾略特已经把它解雇了。

只是一个sidenode,如果你使用MySQL:MySQL允许聚合某个列,同时获取其他列而不进行聚合。 (SQL Server不允许这样做!)

示例:

date       | name
2015-03-06 | A
2015-03-06 | B

在MySQL上使用SELECT Min(date), name FROM table将返回各种结果。 有时会是

2015-03-06 | A

有时

2015-03-06 | B

的Docu:

  

使用此功能时,每个组中的所有行都应该相同   GROUP BY部分中省略的列的值。该   服务器可以自由地从组中返回任何值,因此结果是   除非所有值都相同,否则不确定。

SQL Server将抛出一个错误,即没有对列name执行聚合。另请参阅http://dev.mysql.com/doc/refman/5.0/en/group-by-handling.html

MySQL以这种方式工作,因为有时不需要对第二列进行分组,例如:

SELECT MAX(id), user_id FROM posts WHERE user_id = 6

(可能没有其他user_id而不是6,所以在MySQL中不需要聚合 - 但是如果不注意这个将会导致错误的结果,如示例所示。)