Vba 最大和最小时间查询

Vba 最大和最小时间查询,vba,vb6,ms-jet-ace,Vba,Vb6,Ms Jet Ace,如何在第一行显示最大时间,在第二行显示最小时间,以便使用vb6进行访问 SELECT time_value FROM (SELECT MIN(time_column) AS time_value FROM SomeTable UNION SELECT MAX(time_column) AS time_value FROM SomeTable ) ORDER BY time_value DESC; 除非SomeTable中没有行(或者您的DBM

如何在第一行显示最大时间,在第二行显示最小时间,以便使用vb6进行访问

SELECT time_value
  FROM (SELECT MIN(time_column) AS time_value FROM SomeTable
        UNION
        SELECT MAX(time_column) AS time_value FROM SomeTable
       )
 ORDER BY time_value DESC;
除非SomeTable中没有行(或者您的DBMS不支持这种表示法),否则这应该可以完成任务


在评论中简化每个建议-谢谢

SELECT MIN(time_column) AS time_value FROM SomeTable
UNION
SELECT MAX(time_column) AS time_value FROM SomeTable
ORDER BY time_value DESC;

如果可以从一个查询中获得两个值,则可以使用以下方法提高查询的性能:

SELECT MIN(time_column) AS min_time,
       MAX(time_column) AS max_time
  FROM SomeTable;

一个真正优秀的优化器可能能够在一次传递数据(或索引)的过程中处理联合版本的两个部分,但很容易想象优化器分别处理联合的每一个部分并处理两次数据。如果时间列上没有索引来加快速度,那么可能会涉及两个表扫描,这将比两值一行查询的单个表扫描慢得多(如果表足够大,这样的事情很重要)。

为什么要分两行?为什么不把两个值放在一行中呢?为什么还要处理外部查询呢<代码>选择最大。。。联盟。。。选择MIN…也应该这样做并按降序排列。为什么当问题上的标记为“MDB”时,有人会假定SQL Server?在这个问题的历史记录中,MDB不在标记中是毫无意义的。历史是:原帖:mdb;由marc_s编辑的标记:mdb vb6;onedaywhen重新标记:ms access mdb vb6;Ben McCormack重新标记:ms access mdb vb6 vba。所以,您忽略了其中一个标记。