关于Group by子句的问题(100分!!!)

crazyscrew 2003-08-23 07:48:27
一句sql
select .... from table1 group by month(...)

在sql server 上可以正确执行

最近把数据放到mysql上,结果不能执行

原因就出在group by month(...)上。

请问mysql上实现这样的功能需要做什么样的改动?

谢谢
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluemeteor 2003-08-25
  • 打赏
  • 举报
回复
MONTH(date)

例如:MONTH('2003-08-03');

确定你的MONTH的参数没有错误么?
BenBenBoy 2003-08-25
  • 打赏
  • 举报
回复
注意,如果你正在使用MySQL 3.22(或更早)或如果你正在试图遵从ANSI SQL,你不能在GROUP BY或ORDER BY子句中使用表达式。你可以通过使用表达式的一个别名解决此限制:

mysql> SELECT id,FLOOR(value/100) AS val FROM tbl_name
GROUP BY id,val ORDER BY val;

在MySQL3.23中,你可以这样做:

mysql> SELECT id,FLOOR(value/100) FROM tbl_name ORDER BY RAND();

phpro 2003-08-24
  • 打赏
  • 举报
回复
group by 对应需是合法函数及字段,看你的SQL语句没错,请检查你的字段及表正确性

month(...)中的字段是datetime或date格式吗?有无这个字段?...
lxf_1976 2003-08-24
  • 打赏
  • 举报
回复
同意phpro,请检查你的表名及字段正确性!

或者将你的表结构和SQL语句写出来看看
klbt 2003-08-23
  • 打赏
  • 举报
回复
学习。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧