php - 具有特定日期的行数
问题描述
有一个 sql 查询显示在数据库中创建的特定日期的行数(我按日期创建直方图)。
$timemoscow = date("d.m.Y", time());
$todaycount = mysqli_query($link, "select count(*) FROM logs WHERE time LIKE '%".$timemoscow."%'") or die(mysqli_error($link));
$todaycountres = mysqli_fetch_row($todaycount);
直方图脚本如下所示。
$('#sparklinedash').sparkline([4, 5, 2, 4, 3, 6, 7], {
type: 'bar',
height: '30',
barWidth: '4',
resize: true,
barSpacing: '5',
barColor: '#7ace4c'
});
直方图中的条带将是 7 条。即7天。我试图从数据库中推断出昨天、前天等天的行数。但是如果我按照我的想法去做,我的代码看起来会非常棒。
$oneDay = date ("d.m.Y", strtotime ($timemoscow ."-1 days"));
$oneDaycount = mysqli_query($link, "select count(*) FROM logs WHERE time LIKE '%".$oneDay."%'") or die(mysqli_error($link));
$oneDaycountres = mysqli_fetch_row($oneDaycount);
$secondDay = date ("d.m.Y", strtotime ($timemoscow ."-2 days")); //and another days...
在 Js 中有一个近似的输出:
$('#sparklinedash').sparkline([7, 6, 5, 4, 3, <?php echo $secondDaycountres[0]; ?>, <?php echo $oneDaycountres[0]; ?>], {
type: 'bar',
height: '30',
barWidth: '4',
resize: true,
barSpacing: '5',
barColor: '#7ace4c'
});
会有太多的请求,因为这样的直方图是三张 7 天的。如何才能更合理、更紧凑地做到这一点?
预先感谢您的合作。
解决方案
你需要使用聚合..
就像是
select time, count(*) from logs group by time
然后它将为您提供多行,每行都有时间和具有相同值的行数。
见https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_count
推荐阅读
- c - 如何用三元运算符替换这个 if-else 条件
- swift - CIDetector 检测任何物体边界框
- javascript - 具有空值的数组
- python - QTreeWidgetItem 上的 PyQt 有效性检查
- c# - 强制 DBUP 在开发期间重新运行新脚本
- r - 根据多个条件对数据框进行排名
- python - Os.PathLike 对象 - 处理通过 curl 发送的文件
- angular - ngAfterViewInit 中未定义的 Angular viewchild
- java - 如果String为空,如何设置空值?
- python - 在 dockerfile 中将目录从主机复制到 docker 容器从 mac 到 docker linux 时出现意外行为