SQL Server查询分组依据,其中包含
我有列为dEvent\u Date、dEvent\u Time、tEvent\u Emp\u Code\u num的表元素 我必须将所有日期分组,并从每个日期中获取所有最短时间 例如,我写了下面的查询,但它没有打印出来 选择dEvent\u日期,MINdEvent\u时间作为minTime 来自T级 哪里 tEvent\u Emp\u Code\u num=26和dEvent\u Date=11/18/2010 按开发日期分组 之后,我测试了下面的查询,它可以工作,但它会打印所有天,我只需要指定日期的数据 选择dEvent\u日期,MINdEvent\u时间作为minTime 来自T级 其中,tEvent\u Emp\u Code\u num=26按开发日期分组SQL Server查询分组依据,其中包含,sql,sql-server,where-clause,Sql,Sql Server,Where Clause,我有列为dEvent\u Date、dEvent\u Time、tEvent\u Emp\u Code\u num的表元素 我必须将所有日期分组,并从每个日期中获取所有最短时间 例如,我写了下面的查询,但它没有打印出来 选择dEvent\u日期,MINdEvent\u时间作为minTime 来自T级 哪里 tEvent\u Emp\u Code\u num=26和dEvent\u Date=11/18/2010 按开发日期分组 之后,我测试了下面的查询,它可以工作,但它会打印所有天,我只需要指定
您能帮我吗?您的日期是如何存储在表中的?MySQL的默认日期格式为:yyyy-mm-dd。您还必须将日期括在单引号中 你应该像这样搜索: 其中dEvent_日期='2010/11/18'
如果未指定日期格式。如果db是dql,则此格式将检查db中的值 或者你,,,, 您必须将日期值转换为“2010-11-18”,如
$date = date('Y-m-d',strtotime(11/18/2010));
dEvent_Date = $date
我也有同样的问题,我在mysql中使用了cast函数,我的查询看起来像
CREATE VIEW v_a AS SELECT
tblEvents .*,
EXTRACT(YEAR FROM dEvent_Date) AS 'year',
EXTRACT(MONTH FROM dEvent_Date) AS 'month',
DAYOFMONTH(dEvent_Date) AS 'day'
FROM tblEvents WHERE tEvent_Emp_Code_num = 26;
SELECT
v.year,
v.month,
v.day,
count(v.id)
FROM v_a AS v
GROUP BY v.year,v.month,v.day
对于SQL SErver,可以使用转换函数
SELECT CONVERT(VARCHAR(8), GETDATE(), 4) AS [DD.MM.YY]
或转换函数
SELECT CAST(YEAR(GETDATE()) AS VARCHAR(4))
也许下面的帖子更有用
这将适用于这种情况:
SELECT dEvent_Date, MIN(dEvent_Time) as minTime
FROM tblEvents
WHERE tEvent_Emp_Code_num = 26
GROUP BY dEvent_Date
HAVING CAST('2015/01/01 00:00:01' AS DATETIME) < dEvent_Date
AND dEvent_Date > CAST('2015/05/05 00:00:01' AS DATETIME)
参考如何使用关键字have:
你能说得更清楚更准确吗???dEvent_Date=11/18/2010查询是否从tEvent_Emp_Code_num=26和dEvent_Date=11/18/2010返回任何内容的tblEvents中选择*?可能与此网站上的许多其他内容重复。