如何实现这样的分组啊?

hulangfy 2017-07-25 04:40:22

SELECT
FROM_UNIXTIME(uptime,'%Y') as y,
FROM_UNIXTIME(uptime,'%m') as m,
count(id) as num,
FROM_UNIXTIME(uptime,'%Y年%m月') as v
FROM hl_content
group by y,m
order by y desc,m desc

查询结果:

我想要的是:只显示一个2017,如果其它的也是2017就是空,还有2016那个也是。
如果下图。。。
...全文
146 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2017-07-28
  • 打赏
  • 举报
回复
MYSQL已经提示了语法错误,楼主自己亲自到手修改一下吧。多了个逗号。
qq_39651978 2017-07-28
  • 打赏
  • 举报
回复
估计他们发的你看不懂,百度找一下视频教程看看,这样比直接给你答案来的实在!
hulangfy 2017-07-27
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
select m.y,t.m,t.num,t.v from ( SELECT FROM_UNIXTIME(uptime,'%Y') as y, FROM_UNIXTIME(uptime,'%m') as m, count(id) as num, FROM_UNIXTIME(uptime,'%Y年%m月') as v FROM hl_content group by y,m order by y desc,m desc ) t left join (SELECT FROM_UNIXTIME(uptime,'%Y') as y, MAX(FROM_UNIXTIME(uptime,'%m')) as m, FROM hl_content group by y ) m on t.y=m.y and t.m=m.m
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM hl_content group by y ) m on t.y=m.y and t.m=m.m' at line 16
ACMAIN_CHM 2017-07-26
  • 打赏
  • 举报
回复
select m.y,t.m,t.num,t.v from ( SELECT FROM_UNIXTIME(uptime,'%Y') as y, FROM_UNIXTIME(uptime,'%m') as m, count(id) as num, FROM_UNIXTIME(uptime,'%Y年%m月') as v FROM hl_content group by y,m order by y desc,m desc ) t left join (SELECT FROM_UNIXTIME(uptime,'%Y') as y, MAX(FROM_UNIXTIME(uptime,'%m')) as m, FROM hl_content group by y ) m on t.y=m.y and t.m=m.m

56,687

社区成员

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

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