Sql 如何使用最小条件进行查询?
我正在尝试选择具有最早SDate的员工的姓名。我尝试了以下方法:Sql 如何使用最小条件进行查询?,sql,tsql,Sql,Tsql,我正在尝试选择具有最早SDate的员工的姓名。我尝试了以下方法: SELECT [name] FROM [employee] where [dept] in ('Finance', 'HR', 'IT') and [SDate] = min([SDate]); 我犯了一个错误。这并不奇怪,因为我在where子句中有一个聚合函数。因此,我将其修改为: SELECT [name] FROM [employee]
SELECT [name]
FROM [employee]
where [dept] in ('Finance', 'HR', 'IT')
and [SDate] = min([SDate]);
我犯了一个错误。这并不奇怪,因为我在where子句中有一个聚合函数。因此,我将其修改为:
SELECT [name]
FROM [employee]
where [dept] in ('Finance', 'HR', 'IT')
group by [name]
having [SDate] = min([SDate]);
但它仍然不起作用。我应该如何构造我的T-SQL,以便能够获得具有最小SDate的员工的姓名?使用
按顺序
和顶部
:
SELECT top 1 [name]
FROM [employee]
WHERE [dept] in ('Finance', 'HR', 'IT')
ORDER BY sdate desc;
使用
orderby
和top
:
SELECT top 1 [name]
FROM [employee]
WHERE [dept] in ('Finance', 'HR', 'IT')
ORDER BY sdate desc;