SQL日期格式化问题

qq_34532107 2017-08-19 03:18:03


我这个是分组查询,如果日期不转化的话出来的数据都是1,使用转化语句之后就出现以上错误了
...全文
315 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
道素 2017-08-20
  • 打赏
  • 举报
回复
你的问题主要是Selet后非聚合列应该在Group by中,你是想统计每天的记录数吗?

create table t(id int,d date);
insert into t(id,d)
select 1,to_date('2017-08-08','YYYY-MM-DD') union all
select 2,'2017-08-07' union all
select 3,'2017-08-07' union all
select 4,'2017-08-06' union all
select 5,'2017-08-06' union all
select 6,'2017-08-06' union all
select 7,'2017-08-05' 

select count(0),to_char(d,'YYYY-MM-DD') from t where d between '2017-08-06' and '2017-08-10'
group by to_char(d,'YYYY-MM-DD') 


2;"2017-08-07"
1;"2017-08-08"
3;"2017-08-06"

  • 打赏
  • 举报
回复
postgresql数据库 用的人 好像不多
二月十六 版主 2017-08-19
  • 打赏
  • 举报
回复
试试这个,不行我把帖子给你移到postgresql版块吧,这里是MSSQL对postgresql不熟:

SELECT  COUNT(*) ,
to_date(paytime, 'DD Mon YYYY')
FROM java_langzi.t_shop_order
WHERE paytime BETWEEN '2017-08-09' AND '2017-08-19'
GROUP BY to_date(paytime, 'DD Mon YYYY')
qq_34532107 2017-08-19
  • 打赏
  • 举报
回复
引用 4 楼 sinat_28984567 的回复:
引用 3楼我是你的主体 的回复:
postgresql数据库
嗯你先试试2楼的代码可以不
我QQ:1074748874 可以加QQ聊吗
qq_34532107 2017-08-19
  • 打赏
  • 举报
回复


还是报错
二月十六 版主 2017-08-19
  • 打赏
  • 举报
回复
引用 3楼我是你的主体 的回复:
postgresql数据库
嗯你先试试2楼的代码可以不
qq_34532107 2017-08-19
  • 打赏
  • 举报
回复
postgresql数据库
二月十六 版主 2017-08-19
  • 打赏
  • 举报
回复
试试这个:
SELECT  COUNT(*) ,
DATENAME(DAY, paytime)
FROM java_langzi.t_shop_order
WHERE paytime BETWEEN '2017-08-09' AND '2017-08-19'
GROUP BY DATENAME(DAY, paytime)
二月十六 版主 2017-08-19
  • 打赏
  • 举报
回复
是什么数据库?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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