mysql转PostgreSQL 的Group by问题 100分
呵呵又是MySQL转PostgreSQL的问题
这次是Group by得问题了
MySQL的Group by 后面分组的列不一定要和查询的列一致
但是PostgreSQL的Group by是必须一致的
这是原来
- SQL code
SELECT u.UserCD ,SUBSTRING(OperationDT,9,2) AS DateDay FROM mytable GROUP BY SUBSTRING(OperationDT,1,10)
欢迎大家阅读《MySQL转PostgreSQL 的Group by有关问题 100分》,跪求各位点评,by 搞代码
这句的意思是我想分组SUBSTRING之后的值 MySQL中不会出错的
可是在PostgreSQL中 由于我查询中要查SUBSTRING(OperationDT,9,2) AS DateDay
所以GROUP BY中必须要写OperationDT 这样就不是我想要的结果了
顺便说下OperationDT是时间 YYYY-MM-DD hh:mmss格式的
最好有简单的方法 SQL文别改太长
——解决方案——————–
这句的意思是我想分组SUBSTRING之后的值 MySQL中不会出错的
不是标准的 SQL语句
SELECT u.UserCD ,to_char(OperationDT, 'YYYY-MM-DD ') AS DateDay
FROM mytable
GROUP BY u.UserCD ,to_char(OperationDT, 'YYYY-MM-DD ')
——解决方案——————–
SELECT u.UserCD ,SUBSTRING(OperationDT,9,2) AS DateDay
FROM mytable
GROUP BY u.UserCD,SUBSTRING(OperationDT,1,10)
加上 u.UserCD,
或者
SELECT min(u.UserCD) ,SUBSTRING(OperationDT,9,2) AS DateDay
FROM mytable
GROUP BY SUBSTRING(OperationDT,1,10)