SQL 命令:从表中获取最小日期和小时
Posted
技术标签:
【中文标题】SQL 命令:从表中获取最小日期和小时【英文标题】:SQL command: get min date and hour from table 【发布时间】:2013-07-28 17:32:05 【问题描述】: TblAzmon: 代码(pk) |姓名 |日期 |一小时 | ADcode_fk -------------------------------------------------- -------------------------- 1 系统 1358/05/05 08:00 2 2 图形 1389/05/05 08:00 1 3 模拟 1392/05/06 07:30 1 4 数学 1389/05/05 09:00 1我希望管理器(ADcode)的输出日期和时间最小。
所需的输出:[其中 ADcode_fk='1']
代码 |日期 |一小时 ---------------------------------- 2 1389/05/05 08:00SQL 命令:
select Acode,Adate,Ahour from TblAzmon<br>
where Adate in (select min(Adate) from TblAzmon where ADcode_fk='1')
And Ahour in (select min(Ahour) from TblAzmon where ADcode_fk='1')
输出:--------->0 行 - NULL
提示:所有列都是文本类型。除了 Acode 列。请编写 SQL 代码。
【问题讨论】:
其他人已经提供了答案。您的查询的问题是您分别找到了最短日期和最短小时。碰巧没有一行具有 both 值。 【参考方案1】:你可以这样做,使用 order by
和 top
:
select top 1 *
from tblAzmon a
order by Adate, Ahour
【讨论】:
如果我打算经常执行查询,我不会使用它。如果你不这样做,那很好。【参考方案2】:假设您指的是日期和时间的最早组合,您可以使用order by
和top
来做到这一点:
select top 1 *
from tblAzmon a
order by Adate, Ahour
【讨论】:
【参考方案3】:您的 SQL 不起作用,因为您一次选择了 minHour 和 minDate,并且由于 min(Date) 没有 min(Hour),因此您返回 0 行。
你需要将它们分开并像这样一一选择它们。有了这个你应该可以自己做=)
SELECT Acode,Adate,min(Ahour)
FROM (Select Acode,min(Adate),Ahour FROM TblAzmon WHERE ADcode_fk='1') t
WHERE ADcode_fk='1'
【讨论】:
以上是关于SQL 命令:从表中获取最小日期和小时的主要内容,如果未能解决你的问题,请参考以下文章