Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 Informix日期查询按月分组_Sql_Date_Datetime_Group By_Informix - Fatal编程技术网

Sql Informix日期查询按月分组

Sql Informix日期查询按月分组,sql,date,datetime,group-by,informix,Sql,Date,Datetime,Group By,Informix,如何使用GROUP BY on Informix Date数据类型on month选择记录?比如: SELECT COUNT(*) FROM db_table WHERE my_date.year = 2012 GROUP BY my_date.month 我可以这样用吗 GROUP BY MONTH(my_date) 我不知道Informix中是否存在此函数。目前我无法访问服务器进行验证 顺便说一下,我用的是有点旧的版本,版本10。在版本文件中,时间函数描述如下: You can use

如何使用GROUP BY on Informix Date数据类型on month选择记录?比如:

SELECT COUNT(*)
FROM db_table
WHERE my_date.year = 2012
GROUP BY my_date.month
我可以这样用吗

GROUP BY MONTH(my_date)
我不知道Informix中是否存在此函数。目前我无法访问服务器进行验证

顺便说一下,我用的是有点旧的版本,版本10。在版本文件中,时间函数描述如下:

You can use the time functions DAY, MDY, MONTH, WEEKDAY, and YEAR in either the projection clause or the WHERE clause of a query.

似乎我不能在GROUP BY上使用月函数。有什么解决方案吗?

Informix Documentation说有函数

因此,您的查询应该适合您

SELECT COUNT(*)
  FROM db_table
 WHERE YEAR(my_date) = 2012
 GROUP BY MONTH(my_date)

Informix文档说有一些函数

因此,您的查询应该适合您

SELECT COUNT(*)
  FROM db_table
 WHERE YEAR(my_date) = 2012
 GROUP BY MONTH(my_date)
像这样使用

SELECT COUNT(*)
  FROM db_table
 WHERE YEAR(my_date) = '2012'
 GROUP BY MONTH(my_date)
像这样使用

SELECT COUNT(*)
  FROM db_table
 WHERE YEAR(my_date) = '2012'
 GROUP BY MONTH(my_date)

我刚刚在调查这个问题。Informix有一些奇怪的限制,一个是不能在GROUPBY语句中直接使用与日期相关的函数。您需要根据select语句中的一个输出列“分组”

以下几点可以解决问题:

SELECT MONTH(my_date), COUNT(*)
 FROM db_table
 WHERE YEAR(my_date) = '2012'
 GROUP BY 1

我刚刚在调查这个问题。Informix有一些奇怪的限制,一个是不能在GROUPBY语句中直接使用与日期相关的函数。您需要根据select语句中的一个输出列“分组”

以下几点可以解决问题:

SELECT MONTH(my_date), COUNT(*)
 FROM db_table
 WHERE YEAR(my_date) = '2012'
 GROUP BY 1

我认为“按月分组”(my_date)是正确的,您也可以尝试使用它来测试任何查询。我认为“按月分组”(my_date)是正确的,您也可以尝试使用它来测试任何查询。您可以执行此查询吗?我使用了查询,Informix说有语法错误。@MarcusThornton是正确的-这会产生语法错误。Rod的答案是正确的。您能执行此查询吗?我使用了查询,Informix说有语法错误。@MarcusThornton是正确的-这会产生语法错误。用棒子回答是正确的。