为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:麒麟
【CPU】:
【问题描述】*:一直报无效的列名[ADD_TIME],这种语句在mysql里面可以,请问怎么修改成达梦语句?
SELECT FROM_UNIXTIME(add_time,'%m-%d') as day,
count(*) as count
FROM "eb_user"
GROUP BY FROM_UNIXTIME(add_time,'%Y%m%d')
ORDER BY "add_time" ASC
您这个错误需要查一下
1.达梦中此表的结果是否有此字段
2.大小写是否敏感的也查一下,select CASE_SENSITIVE();。
从现象看,如果表结构中有add_time字段的话,就是大小写的问题了。
另外,您这个语句有查询列和分组列用的格式不一样,需要将达梦的COMPATIBLE_MODE参数设置为4,否则会出现“不是group by表达式”的错误。
SELECT FROM_UNIXTIME("add_time",'%m-%d') as day,
count(*) as count
FROM "eb_user"
GROUP BY FROM_UNIXTIME(add_time,'%Y%m%d')
ORDER BY "add_time" ASC
或者
SELECT FROM_UNIXTIME(add_time,'%m-%d') as day,
count(*) as count
FROM "eb_user"
GROUP BY FROM_UNIXTIME(add_time,'%Y%m%d')
ORDER BY add_time ASC