• PHP 做 Mysql 数据统计,通过时间戳 统计 每分钟多少条 每十分钟多少条?


    • 如果mysql表中 数据结构 时间字段 是按时间戳存的,PHP 如何按每分钟有多少条来统计数据
      1. // 连接MySQL数据库
      2. $servername = "localhost";
      3. $username = "your_username";
      4. $password = "your_password";
      5. $dbname = "your_database";
      6. $conn = new mysqli($servername, $username, $password, $dbname);
      7. if ($conn->connect_error) {
      8. die("连接失败: " . $conn->connect_error);
      9. }
      10. // 查询每分钟数据条数
      11. $sql = "SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%Y-%m-%d %H:%i') AS minute, COUNT(*) AS count FROM your_table GROUP BY minute";
      12. $result = $conn->query($sql);
      13. if ($result->num_rows > 0) {
      14. while ($row = $result->fetch_assoc()) {
      15. $minute = $row['minute'];
      16. $count = $row['count'];
      17. echo "时间:$minute,数据条数:$count
        "
        ;
      18. }
      19. } else {
      20. echo "没有数据";
      21. }
      22. $conn->close();
      23. ?>

    • DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%Y-%m-%d %H:%i') 是一个MySQL的日期格式化函数的组合,用于将时间戳转换为指定格式的日期字符串。

      具体解释如下:

      1. FROM_UNIXTIME(timestamp_column):这个函数将一个UNIX时间戳(以秒为单位)转换为MySQL的日期时间格式。timestamp_column是一个代表时间戳的字段名或表达式。

      2. DATE_FORMAT(date, format):这个函数将一个日期或日期时间值按照指定的格式进行格式化。date是一个日期或日期时间值,format是一个字符串,用于指定输出的日期格式。

      在上述代码中,FROM_UNIXTIME(timestamp_column)将时间戳字段timestamp_column转换为日期时间格式,然后DATE_FORMAT函数将转换后的日期时间值按照'%Y-%m-%d %H:%i'的格式进行格式化。

      %Y表示四位数的年份,例如2022年;

      %m表示两位数的月份,例如01月到12月;

      %d表示两位数的日期,例如01日到31日;

      %H表示两位数的小时,24小时制,例如00时到23时;

      %i表示两位数的分钟,例如00分到59分。

      因此,DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%Y-%m-%d %H:%i')将时间戳字段转换为形如"2022-01-01 12:30"的日期时间字符串。

      这样,通过使用DATE_FORMAT函数,我们可以将时间戳转换为我们需要的日期时间格式,方便进行日期的比较、显示和统计等操作。

    • 如果mysql表中 数据结构 时间字段 是按时间戳存的,PHP 如何按每十分钟有多少条来统计数据

     

    1. // 连接MySQL数据库
    2. $servername = "localhost";
    3. $username = "your_username";
    4. $password = "your_password";
    5. $dbname = "your_database";
    6. $conn = new mysqli($servername, $username, $password, $dbname);
    7. if ($conn->connect_error) {
    8. die("连接失败: " . $conn->connect_error);
    9. }
    10. // 查询每十分钟数据条数
    11. $sql = "SELECT CONCAT(DATE_FORMAT(FROM_UNIXTIME(timestamp_column), '%Y-%m-%d %H:'), FLOOR(MINUTE(FROM_UNIXTIME(timestamp_column)) / 10) * 10) AS ten_minutes, COUNT(*) AS count FROM your_table GROUP BY ten_minutes";
    12. $result = $conn->query($sql);
    13. if ($result->num_rows > 0) {
    14. while ($row = $result->fetch_assoc()) {
    15. $tenMinutes = $row['ten_minutes'];
    16. $count = $row['count'];
    17. echo "时间:$tenMinutes,数据条数:$count
      "
      ;
    18. }
    19. } else {
    20. echo "没有数据";
    21. }
    22. $conn->close();
    23. ?>

    timestamp_column 是存储时间戳的字段名。

    代码中使用了 FROM_UNIXTIME 函数将时间戳转换为日期时间格式,然后使用DATE_FORMAT函数将转换后的日期时间值按照'%Y-%m-%d %H:'的格式进行格式化。接着,使用FLOOR(MINUTE(FROM_UNIXTIME(timestamp_column)) / 10) * 10将分钟数按照每十分钟进行分组。最后,通过GROUP BYCOUNT函数统计每十分钟的数据条数。

  • 相关阅读:
    springboot(14):WebMvcConfigurer配置类
    java-net-php-python-ssm电影票订票系统计算机毕业设计程序
    使用 Apache Camel 和 Quarkus 的微服务(四)
    React报错之map() is not a function
    Process assessment techniques-1
    ftrace和tracepoint简单使用
    JAVA设计模式-单例模式
    i++与++i的运算和效率区别
    R语言按周为采样规则计算dataframe数据中、指定数据列的每周最大值并生成新的dataframe
    动态路由协议的分类、动静态路由优缺点、RIP简介、组播单播广播详解(附图)
  • 原文地址:https://blog.csdn.net/cbaln0/article/details/132908797