Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql DatePart可以用聚合函数执行吗?_Sql_Ms Access_Ms Access 2010 - Fatal编程技术网

Sql DatePart可以用聚合函数执行吗?

Sql DatePart可以用聚合函数执行吗?,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,我在Access 2010中编写了以下查询,返回了一条错误消息: 选择DatePart(“ww”,日期,2,1)作为周编号,公制,和(公制值)作为周计量值 从qryActual 按度量、周数分组 这是错误消息: 您试图执行的查询未将指定的表达式“DatePart(“ww”,Date,2,1)”作为聚合函数的一部分。 是否存在我丢失的真正简单的错误,或者DatePart是否需要在一个单独的查询中执行,然后才能包含在由组成的组中 如果您需要更多详细信息,请告诉我。谢谢 是的,它可以。唯一的问题是,您

我在Access 2010中编写了以下查询,返回了一条错误消息:

选择DatePart(“ww”,日期,2,1)作为周编号,公制,和(公制值)作为周计量值
从qryActual
按度量、周数分组

这是错误消息:

您试图执行的查询未将指定的表达式“DatePart(“ww”,Date,2,1)”作为聚合函数的一部分。

是否存在我丢失的真正简单的错误,或者DatePart是否需要在一个单独的查询中执行,然后才能包含在由
组成的
组中


如果您需要更多详细信息,请告诉我。谢谢

是的,它可以。唯一的问题是,您要按列别名分组,需要按表达式本身分组,即在
groupby
中将
WeekNumber
替换为
DatePart(“ww”,Date,2,1)


为了在注释的基础上进一步阐述,以下是执行查询部分的顺序:

  • FROM子句
  • WHERE子句
  • 分组依据子句
  • 有从句
  • SELECT子句
  • 按条款订货

正如您可以看到的那样,
SELECT
非常接近底部,因此当执行
groupby
时,别名还不存在,因此可以引用列别名的唯一位置是在
ORDER BY
子句中。(有些DBMS允许在其他地方使用它,例如MySQL,但这些是例外情况,而不是规则)。

是的,它可以。唯一的问题是,您要按列别名分组,需要按表达式本身分组,即在
groupby
中将
WeekNumber
替换为
DatePart(“ww”,Date,2,1)


为了在注释的基础上进一步阐述,以下是执行查询部分的顺序:

  • FROM子句
  • WHERE子句
  • 分组依据子句
  • 有从句
  • SELECT子句
  • 按条款订货

正如您可以看到的那样,
SELECT
非常接近底部,因此当执行
groupby
时,别名还不存在,因此可以引用列别名的唯一位置是在
ORDER BY
子句中。(有些DBMS允许在其他地方使用它,例如MySQL,但这些是例外情况,而不是规则)。

是的,它可以。唯一的问题是,您要按列别名分组,需要按表达式本身分组,即在
groupby
中将
WeekNumber
替换为
DatePart(“ww”,Date,2,1)


为了在注释的基础上进一步阐述,以下是执行查询部分的顺序:

  • FROM子句
  • WHERE子句
  • 分组依据子句
  • 有从句
  • SELECT子句
  • 按条款订货

正如您可以看到的那样,
SELECT
非常接近底部,因此当执行
groupby
时,别名还不存在,因此可以引用列别名的唯一位置是在
ORDER BY
子句中。(有些DBMS允许在其他地方使用它,例如MySQL,但这些是例外情况,而不是规则)。

是的,它可以。唯一的问题是,您要按列别名分组,需要按表达式本身分组,即在
groupby
中将
WeekNumber
替换为
DatePart(“ww”,Date,2,1)


为了在注释的基础上进一步阐述,以下是执行查询部分的顺序:

  • FROM子句
  • WHERE子句
  • 分组依据子句
  • 有从句
  • SELECT子句
  • 按条款订货

正如您可以看到的那样,
SELECT
非常接近底部,因此当执行
groupby
时,别名还不存在,因此可以引用列别名的唯一位置是在
ORDER BY
子句中。(有些DBMS允许在其他地方使用它,例如MySQL,但这些是例外情况,而不是规则)。

所以我希望不要再犯这个错误……Select语句中定义的别名在Group By语句中是禁止的吗?还是只有在应用某些类型的函数时才会出现这种情况?我已经对答案进行了扩展,解释了为什么您不能通过
引用
组中的别名,这适用于所有别名,而不仅仅是具有某些函数的别名。Fantastic@GarethD!要是我能给你多一票就好了!所以我希望不要再犯这个错误了……Select语句中定义的别名在GROUPBY语句中是被禁止的吗?还是只有在应用某些类型的函数时才会出现这种情况?我已经对答案进行了扩展,解释了为什么您不能通过
引用
组中的别名,这适用于所有别名,而不仅仅是具有某些函数的别名。Fantastic@GarethD!要是我能给你多一票就好了!所以我希望不要再犯这个错误了……Select语句中定义的别名在GROUPBY语句中是被禁止的吗?还是只有在应用某些类型的函数时才会出现这种情况?我已经对答案进行了扩展,解释了为什么您不能通过
引用
组中的别名,这适用于所有别名,而不仅仅是具有某些函数的别名。Fantastic@GarethD!要是我能给你多一票就好了!所以我希望不要再犯这个错误了……Select语句中定义的别名在GROUPBY语句中是被禁止的吗?还是只有在应用某些类型的函数时才会出现这种情况?我已经对答案进行了扩展,解释了为什么您不能通过
引用
组中的别名,这适用于所有别名,而不仅仅是具有某些函数的别名。Fantastic@GarethD!要是我能给你多一票就好了!
SELECT  DATEPART("ww",Date,2,1) AS WeekNumber, 
        Metric, 
        SUM(MetricValue) AS WeeklyMetricValue 
FROM    qryActual 
GROUP BY Metric, DATEPART("ww",Date,2,1);