Min功能如何在日期上工作?如果2条记录具有相同的日期和时间戳,则min函数返回1.它是否根据何时将记录放入表中来提取记录?
答案 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中不需要聚合 - 但是如果不注意这个将会导致错误的结果,如示例所示。)