mysql根据客户端的日期组选择第一条记录

标签 mysql select group-by min

我有以下 MySQL“约会”表

id | date | notes | client_id
-----------------------------
10 | 2018-02-02 | test1 | 1015
11 | 2018-02-03 | test2 | 1016
12 | 2018-03-06 | test3 | 1015
13 | 2018-03-14 | test4 | 1015
14 | 2018-03-15 | test5 | 1016

我想在我要搜索的日期范围内仅显示在该期间第一次预约的客户。

因此,如果我搜索 2018-02-03 到 2018-02-07,它应该只显示 client_id 1016,因为 client_id 可能在此期间有预约,但在此期间之前已经有另一条记录(我不关心是否有任何预约)在我搜索的句号之后跟随)。

我希望我的描述很清楚。谢谢

最佳答案

SELECT *
FROM `appointments`
WHERE (date BETWEEN '2018-02-03' AND '2018-02-07')
group by client_id
order by date desc

关于mysql根据客户端的日期组选择第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49493259/

相关文章:

mysql - 引用: MySql Connector/Net Authentication to host using method 'mysql_native_password' failed

mysql - 如何使用mysql在count函数中编写select查询

MySQL 5.7.22 : How to SELECT JSON value when it's key contains dot character?

python - Pandas 按 groupby 求和,但不包括某些列

sql - 带有两个表的 MySQL 时间戳和 GROUP BY

python - 中位数为 'modified' 的 Csv pandas groupby

mysql - SQLException : "The table is full" during SonarQube 6. 7 LTS 升级

mysql - Ruby on Rails 3 中的安装错误

mysql - 两者之间如何选择?

php - 选择选项 MYSQL PHP Update