gpt4 book ai didi

php - Select 语句根据 sql 中的时间戳计算匹配日期(而不是时间)

转载 作者:行者123 更新时间:2023-11-30 00:30:17 35 4
gpt4 key购买 nike

我不想将它们组合或分组。我只想计算给定表中有多少个日期(不是小时/分钟/秒)匹配,然后使用 php 在简单日历上突出显示给定的日期。 (从而突出显示具有两个以上条目的日期。)

我只是无法理解这句话。这是我尝试过的示例。我提取了一些行,但不是 100%。

    SELECT * 
FROM `foo_table`
WHERE DAY(`start`) IN
(
SELECT DAY(`start`)
FROM `foo_table`
WHERE MONTH(`start`) IN (01)
AND MONTH(`end`) IN (01)
GROUP BY `start`
HAVING COUNT(*) > 1
)
ORDER BY `start`

这是表格:

    id          start                      end
1 2014-01-01 10:00:00 2014-01-02 10:00:00
2 2014-01-02 10:00:00 2014-01-04 10:00:00
3 2014-01-03 10:00:00 2014-01-06 10:00:00
4 2014-02-01 10:00:00 2014-02-02 10:00:00
5 2014-02-01 10:00:00 2014-02-02 10:00:00
6 2014-10-01 10:00:00 2014-10-19 10:00:00

我希望针对以下查询显示该语句:1 月 3 日独特条目。2 月 2 日匹配条目。等等。

当某一天有一个、两个或三个条目时,我使用 php 来更改日历的字体。我似乎不知道如何找出条目的数量和日期。

最佳答案

您的子查询需要按日期(开始)分组:

SELECT * 
FROM `foo_table`
WHERE DATE(`start`) IN (SELECT DATE(`start`)
FROM `foo_table`
WHERE MONTH(`start`) IN (01) AND MONTH(`end`) IN (01)
GROUP BY DATE(`start`)
--------------------------------^
HAVING COUNT(*) > 1
)
ORDER BY `start`;

不过,根据您的描述,子查询的输出似乎就足够了,因为它标识了具有多个条目的日期。

关于php - Select 语句根据 sql 中的时间戳计算匹配日期(而不是时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22569446/

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