Php-MySql查询,根据DateTime选择数据

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Php-MySql查询,根据DateTime选择数据脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想获得具有相同日期的行数.但一秒钟必须可以忽略不计.

例如 ; 2012-01-03 13:12:28和2012-01-03 13:12:27应该被认为是一样的.

(我的表名是myTable,日期时间列名是date)

我希望你能帮助我..

解决方法

它很简单

SELECT * From myTable WHERE date >= '2012-01-03 13:12:27' AND date <= '2012-01-03 13:12:28';

如果你想从变量构建它,你可以这样做:

$date = '2012-01-03 13:12:27';
$timestamp = strtotime($date);
$MysqLi = new MysqLi();

// Note: allowing 1 second eITher side,this is up to you
$lower = date('Y-m-d H:i:s',$timestamp - 1);
$upPEr = date('Y-m-d H:i:s',$timestamp + 1);

$stmt = $MysqLi->PRepare('SELECT * From myTable WHERE date >= ? AND date <= ?');
$stmt->bind_param('ss',$lower,$upper);
$stmt->execute();

编辑:根据您的评论,下面的sql应该返回您所追求的内容.请注意,如果日期包含“2012-01-03 13:12:28”,则将同时计算:27和:28.

SELECT
    upper_date,COALESCE(lower_count,0) + upper_count
FROM
    (SELECT
        date AS upper_date,COUNT(1) AS upper_count
    FROM myTable
    group by date
    ) AS upper
LEFT JOIN
    (SELECT
        date - INTERVAL 1 SECOND AS lower_date,COUNT(1) AS lower_count
    FROM myTable
    GROUP BY date
    ) AS lower
ON upper.upper_date = lower.lower_date

脚本宝典总结

以上是脚本宝典为你收集整理的Php-MySql查询,根据DateTime选择数据全部内容,希望文章能够帮你解决Php-MySql查询,根据DateTime选择数据所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。