帮帮看看这句sql语句对不?

yzrzjsj 2010-12-19 06:54:10

SELECT count(*) as num1 FROM pre_forum_thread  where dateline=UNIX_TIMESTAMP(date_sub(NOW(),interval 1 day))


我想达到的效果是,查询出当前时间前一天记录的总和!数据库时间时间格式是unix时间戳!其余就不要多说了!大家帮我看看对不对!
...全文
95 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
seai 2010-12-20
  • 打赏
  • 举报
回复
或许你要的是这个?


SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(to_date(curdate()),interval 1 day)) and dateline>=UNIX_TIMESTAMP(to_date(curdate()))

严格按“日期”计算。
seai 2010-12-20
  • 打赏
  • 举报
回复
符合打错,再次更正:

SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(curdate(),interval 1 day)) and dateline<UNIX_TIMESTAMP(curdate())
seai 2010-12-20
  • 打赏
  • 举报
回复
要知道,你的写法是无索引的,但如果按我这样写,是可以走索引的,差别会相当大噢
seai 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yzrzjsj 的回复:]

引用 2 楼 seai 的回复:

或许你要的是这个?


SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(to_date(curdate()),interval 1 day)) and dateline>=UNIX_TIMESTAMP(to_date(curd……
[/Quote]

不好意思,我更正一下,其实你的问题这样做事很爽的:

SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(curdate(),interval 1 day)) and dateline>=UNIX_TIMESTAMP(curdate())
yzrzjsj 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 alex_best 的回复:]

1.考虑到mysql的效率 尽量少使用mysql中的函数

2.可以在php里面拼出来时间串 然后拼成sql语句。多好!~~

用php处理数据比mysql快多了

只是建议!
[/Quote]
多谢你的建议!按照你说的方法并解决了问题!如下
$timestamp = date("Y-m-d",strtotime("-1 day"));
SELECT count(*) as num1 FROM pre_forum_thread where DATE_FORMAT(FROM_UNIXTIME(dateline),'%Y-%m-%d')='$timestamp'
igaojie 2010-12-20
  • 打赏
  • 举报
回复
1.考虑到mysql的效率 尽量少使用mysql中的函数

2.可以在php里面拼出来时间串 然后拼成sql语句。多好!~~

用php处理数据比mysql快多了

只是建议!
yzrzjsj 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 seai 的回复:]

或许你要的是这个?


SELECT count(*) as num1 FROM pre_forum_thread where dateline>=UNIX_TIMESTAMP(date_sub(to_date(curdate()),interval 1 day)) and dateline>=UNIX_TIMESTAMP(to_date(curdate()))

严格按“日期”计算……
[/Quote]
我试过了,没用计算结果!求解!
yzrzjsj 2010-12-20
  • 打赏
  • 举报
回复
多谢各位的回答!结贴散分了!
igaojie 2010-12-19
  • 打赏
  • 举报
回复
SELECT count(*) as num1 FROM pre_forum_thread where dateline <= UNIX_TIMESTAMP(date_sub(NOW(),interval 1 day))

21,886

社区成员

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

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