gpt4 book ai didi

mysql - SQL (MySQL) 根据今天的日期返回查询结果

转载 作者:行者123 更新时间:2023-11-29 04:02:13 26 4
gpt4 key购买 nike

我有一个查询,我得到了帮助,但我被困在另一个问题上。

我的代码是

SELECT a.name, COUNT(*) AS num FROM table2 b 
INNER JOIN table1 a
ON b.status_id=a.id
GROUP BY status_id

我现在想做的是只显示在当前日期输入的结果吗?日期列在表 2 中。日期列的格式是日期和时间(例如 1341241153),由 CRM 以这种方式自动设置。我不确定这是什么格式!

我只需要检查日期是否与当前日期匹配。我希望这是清楚的。

这是一个 MySQL 数据库。

我们将不胜感激!

最佳答案

使用这个解决方案:

SELECT     a.name, COUNT(*) AS num
FROM table2 b
INNER JOIN table1 a ON b.status_id = a.id
WHERE b.datecol >= UNIX_TIMESTAMP(CURDATE()) AND
b.datecol < UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY)
GROUP BY b.status_id

这将避免将您的日期列包装在一个函数中,这会使查询不可搜索(即无法使用索引)。通过在裸日期列上进行比较,MySQL 仍然可以使用索引(如果您在日期列上设置了索引),并且它应该非常有效。

如果您绝对知道输入的日期永远不会是 future 的某个时间(即明天或后天),您可以进一步简化它:

SELECT     a.name, COUNT(*) AS num
FROM table2 b
INNER JOIN table1 a ON b.status_id = a.id
WHERE b.datecol >= UNIX_TIMESTAMP(CURDATE())
GROUP BY b.status_id

第二个条件检查被删除,因为它不需要检查它是否在未来的一天。

关于mysql - SQL (MySQL) 根据今天的日期返回查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11492823/

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