如何统计一周的信息数量?

xiexiaokang 2011-07-29 08:44:51
select count(id) as c from dede_archives where from_unixtime(pubdate,'%m') = month(curdate( ))

以上SQL语句是统计一个月的信息数量,如何改成统计一周的信息数量?
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangcdsn 2011-07-29
  • 打赏
  • 举报
回复
受教了
xuzuning 2011-07-29
  • 打赏
  • 举报
回复
严格的说用 week 是不行的 返回为一年的第几周
应该用 date_format( date, '%X%V')
amani11 2011-07-29
  • 打赏
  • 举报
回复
pubdate有索引的情况,用时间戳统计效率更高……否则是扫全表
heyli 2011-07-29
  • 打赏
  • 举报
回复
保存的是时间戳 可用 pubdate>=xx and pubdate<=xx 或下面 between
select count(id) as c from dede_archives where pubdate between xx and xxx

from_unixtime(pubdate,'%Y-%m-%d') 转换成 2011-07-29 这种日期类型比较
amani11 2011-07-29
  • 打赏
  • 举报
回复
不计算字段pubdate的月份,程序中计算出时间戳就好了,这样效率更高,否则不是浪费unix_timestamp的pubdate字段了?


另外,月份统计你这句也是有问题的,每年都有某个月份哦【除非按年分表了……
tangcdsn 2011-07-29
  • 打赏
  • 举报
回复
select count(id) as c from dede_archives where week(pubdate) = week(curdate( ))

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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