【问题标题】:Generate result by day按天生成结果
【发布时间】:2017-07-10 21:14:42
【问题描述】:

我正在处理PHPMySQL,我想计算今天和昨天生成的结果。

这是我的phpmyadmin 的屏幕截图,表格是results。在date_generate 列中,我使用了TIMESTAMP

我有这个计算总结果的查询

<?php

   $query = $db->query("SELECT * FROM `results`");
   $count = $query->rowCount();
   echo $count;

【问题讨论】:

  • 这里有一个提示:从使用WHERE 子句开始。在寻求帮助之前,您应该做出一些最小的努力。
  • 是的,我昨天尝试了表格,但仍然有问题,你可以发布这个查询
  • 欢迎来到 Stackoverflow。在提出新问题之前,请先做一些研究。这个已经回答过很多次了。检查此链接:stackoverflow.com/questions/10395444/…
  • 是的,我也搜索过,但从我的查询中显示输出结果 1,您可以为我发布查询
  • 我希望有一个“先学习 SQL”的标志

标签: php mysql count


【解决方案1】:

您需要使用group by 来获取基于date_genrate 创建的记录。因此,您的查询将类似于 将date_generate 视为时间戳

SELECT DATE(FROM_UNIXTIME(date_generate)) AS date_g, COUNT(id) AS NumPosts
 FROM   results
 WHERE date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE()
 GROUP BY date_g
 ORDER BY date_g

【讨论】:

  • 我试过了,但这个显示输出仍然是 1 这里是我试过的查询 'query("SELECT DATE(FROM_UNIXTIME(date_generate)) AS date_g, COUNT( id) AS NumPosts FROM results WHERE date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE() GROUP BY date_g ORDER BY date_g ");回声$查询->执行(); ?> '
  • get row_count....执行将只返回查询是否成功执行...尝试直接在phpmyadmin中运行查询并查看结果...
【解决方案2】:

替换您的查询:

 $query = $db->query("SELECT * FROM `results` where date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE()");
$query->execute(); 
echo $count = $query->rowCount();

【讨论】:

  • 检查更新的答案,并使用 $count 变量。回声$查询->执行();将始终返回 1 或 0,因为它的返回类型将始终为 BOOL(true 或 false)
  • 如果您认为这是正确的,请勾选检查按钮
  • 我真的很抱歉,但我不知道我可以投票:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
  • 2017-02-09
  • 2021-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多