SQL命令:从表中获取最小日期和小时

时间:2013-07-28 17:32:06

标签: sql sql-server ms-access ms-access-2007

SQL命令:从表中获取最小日期和小时

TblAzmon:
Acode(pk)  |  Aname       |  Adate        |  Ahour  |  ADcode_fk
----------------------------------------------------------------------------
1           system         1358/05/05       08:00       2
2           graphic        1389/05/05       08:00       1
3           simulation     1392/05/06       07:30       1
4           math           1389/05/05       09:00       1

我希望管理器(ADcode)的输出日期和时间最小。

所需输出:[其中ADcode_fk ='1']

Acode   |   Adate      | Ahour
----------------------------------
2          1389/05/05   08:00

SQL命令:

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')

输出:----------&gt; 0行 - NULL

  • 提示:所有列都是文本类型。除了专栏。

请编写SQL代码。

3 个答案:

答案 0 :(得分:3)

你可以使用order bytop

这样做
select top 1 *
from tblAzmon a
order by Adate, Ahour

答案 1 :(得分:0)

假设您指的是最早的日期和小时组合,您可以使用order bytop执行此操作:

select top 1 *
from tblAzmon a
order by Adate, Ahour

答案 2 :(得分:0)

您的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'