Sql server 如何使用自定义消息和计数通过MS Sql查询获得输出?
我想对下面的数据进行MS Sql查询,这些数据可以按我的要求输出 表名:Emp(两列EmpID int,VacantedDateTime) 表数据:Sql server 如何使用自定义消息和计数通过MS Sql查询获得输出?,sql-server,Sql Server,我想对下面的数据进行MS Sql查询,这些数据可以按我的要求输出 表名:Emp(两列EmpID int,VacantedDateTime) 表数据: EmpID | VacantEndDate 11 | 22-Jun-16 12 | 22-Jun-16 13 | 30-May-15 14 | 30-May-15 15 | 31-Mar-15 16 | 02-Dec-16 按日期按MS Sql查询顺序输出 One Post Vaca
EmpID | VacantEndDate
11 | 22-Jun-16
12 | 22-Jun-16
13 | 30-May-15
14 | 30-May-15
15 | 31-Mar-15
16 | 02-Dec-16
按日期按MS Sql查询顺序输出
One Post Vacant on 31-Mar-16
Two Post vacant on 30-May-16
Two Post vacant on 22-Jun-16
One Post Vacant on 02-Dec-16
我试图提出质疑,但没有成功,请帮助我
提前感谢。您可以尝试以下查询:-
SELECT CASE WHEN (COUNT(EmpID) = 1) THEN 'One Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 2) THEN 'Two Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 3) THEN 'Three Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 4) THEN 'Four Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 5) THEN 'Five Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 6) THEN 'Six Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 7) THEN 'Seven Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 8) THEN 'Eight Post Vacant on' + cast([VacantEndDate] AS NVARCHAR),
WHEN (COUNT(EmpID) = 9) THEN 'Nine Post Vacant on' + cast([VacantEndDate] AS NVARCHAR)
FROM Emp
GROUP BY VacantEndDate
这可能会对您有所帮助。此脚本正在强制转换datetime to date,以防止任何datetime中出现时间部分。分组时,不同的时间段会导致额外的行 试试这个:
SELECT
CASE COUNT(*)
WHEN 1 THEN 'One'
WHEN 2 THEN 'Two'
WHEN 3 THEN 'Three'
WHEN 4 THEN 'Four'
WHEN 5 THEN 'Five'
WHEN 6 THEN 'Six'
WHEN 7 THEN 'Seven'
WHEN 8 THEN 'Eight'
WHEN 9 THEN 'Nine'
ELSE 'Ten+'
END +
' Post Vacant on ' +
REPLACE(CONVERT(char(9), CAST(VacantEndDate as date), 6), ' ', '-')
FROM Emp
GROUP BY CAST(VacantEndDate as date)
使用
group by vacantedDate
和count()
函数。然后,您可以使用选择case when(count(*)=1),然后使用'One Post emptance on'+cast([VacantEndDate]as nvarchar)
等等。有关更通用的数字到单词功能,请参见此