面试遇到的问题
,一张点赞表,有id自增主键,w_id文章id,create_time点赞时间(2018-10-02 11:50:22形式的)。求获取10.1号到10.10号之间,每天每个文章点赞数量
面试遇到的问题
,一张点赞表,有id自增主键,w_id文章id,create_time点赞时间(2018-10-02 11:50:22形式的)。求获取10.1号到10.10号之间,每天每个文章点赞数量
select w_id, count(*) from dianzan where create_time >= '2018-10-01' and create_time < '2018-10-10' group by w_id
SELECT
DATE_FORMAT(`create_time`, '%Y-%m-%d') as `day`,
`w_id`,
COUNT(1)
FROM `dianzan`
GROUP BY `day`, `w_id`;
5 回答3.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答1.8k 阅读
3 回答2k 阅读
这个题目还是挺恶心的,对于我这种平时写SQL要试好几次,外加百度才能写出来的选手,手写肯定是会写错的.
这个要用到
count
,毫无疑问date_format
,或者其他处理日期的办法,比如字符串截取,这里不展开了,用来将数据库里的时间转换为日期字符串.group by
,每天每篇文章的点赞数量,也就是根据文章和日期进行分组,count
总共出现的条目数.思路就是这个样子..