【发布时间】:2021-07-08 11:03:01
【问题描述】:
我正在尝试为我的客户创建一个概览页面,并希望显示客户(在过去一年内)使用某种服务(例如窗户清洁或地板清洁)的时间。
我是这样尝试的:
SELECT start, project_id, category_id, MAX(start)
FROM `time_entries`
WHERE project_id = '$project_id' AND start > '$oneyearago'
GROUP BY category_id
project_id = 一种独特的客户 ID
category_id = 1 用于窗户清洁,2 用于地板清洁等等
start = 上次服务启动时的 DATETIME
我想显示最后的服务,但它只显示最旧的服务。我究竟做错了什么?这里有人对我有想法吗?
非常感谢您。
编辑:这是数据库示例
id project_id category_id start
---|------------|-----------|-------------------
1 | 1 | 1 | 2019-11-11 09:51:07
2 | 1 | 2 | 2019-11-12 09:51:07
5 | 1 | 3 | 2019-11-13 09:51:07
3 | 1 | 1 | 2020-11-11 09:51:07
4 | 1 | 2 | 2020-11-12 09:51:07
5 | 1 | 3 | 2020-11-13 09:51:07
6 | 1 | 1 | 2021-11-11 09:51:07
7 | 1 | 2 | 2021-11-12 09:51:07
我想看看
类别 1:最后一次约会是 2021 年 11 月 11 日
类别 2:最后一次约会是 2021 年 11 月 12 日
类别 3:最后一次约会是 2020 年 11 月 13 日
【问题讨论】:
-
请分享创建表和示例数据插入脚本。此外,样本数据的预期输出。尝试使用 GROUP BY start、project_id、category_id
-
我试图插入一个演示数据库,我希望这可以解决问题:)
-
我无法重现。请看:sqlize.online/…
-
你说的很对,是我的错。我呼应了“start”,但不是 Max(start),这非常愚蠢。
-
感谢您的帮助,这是一个非常愚蠢的错误。非常抱歉!