gpt4 book ai didi

PHP和MySQL日期出现查询

转载 作者:行者123 更新时间:2023-11-29 03:38:59 25 4
gpt4 key购买 nike

我正在尝试从 MySQL 数据库中获取一些计数以用于 PHP。看来我应该能够让 MySQL 输出我需要的数字,而不必在事后用 PHP 计算它。

这就是我想要做的。我想计算每个月条目的出现次数。所以我有一个看起来像这样的数据库。

DateTimeOriginal
2004:11:06 09:58:31
2004:11:08 10:00:25
2004:12:28 12:00:45
2005:03:02 05:00:15
2005:03:15 23:12:10

我想写一个基本上输出这个的查询。

echo $row[0] . ":" . $row[1] . " = " . $row[2];

2004:11 = 2
2004:12 = 1
2005:03 = 2

我已经尝试了一些东西,但无法全神贯注。我是 MySQL 的新手,但我知道有一些方法可以让 MySQL 完成一些繁重的工作。

最佳答案

看起来您希望结果列($row[0] 等)为:

  • 第 0 列:年份
  • 第 1 列:月份(用零填充到长度为 2 的左侧)
  • 第 2 列:计数

在那种情况下,这应该有效:

SELECT
YEAR(DateTimeOriginal) AS TheYear,
DATE_FORMAT(DateTimeOriginal, '%m') AS TheMonth
COUNT(*)
FROM myTable
GROUP BY
YEAR(DateTimeOriginal),
DATE_FORMAT(DateTimeOriginal, '%m')
ORDER BY TheYear, TheMonth

附录:如果两列都OK(一列用于格式化年/月,一列用于计数),查询会变得简单很多。

SELECT
DATE_FORMAT(DateTimeOriginal, '%m:%Y') AS YearMonth,
COUNT(*)
FROM myTable
GROUP BY DATE_FORMAT(DateTimeOriginal, '%m:%Y')
ORDER BY YearMonth

非常感谢@GordonLinoff 指出这一点。这提醒我们,好的建议与好的代码同样重要!

关于PHP和MySQL日期出现查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com