SQL Server查询分组依据,其中包含

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 按开发日期分组 之后,我测试了下面的查询,它可以工作,但它会打印所有天,我只需要指定

我有列为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按开发日期分组
您能帮我吗?

您的日期是如何存储在表中的?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中选择*?可能与此网站上的许多其他内容重复。