Sql Informix日期查询按月分组
如何使用GROUP BY on Informix Date数据类型on month选择记录?比如: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
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是正确的-这会产生语法错误。用棒子回答是正确的。