我遇到以下 SQL 查询和 MySQL 的问题
SELECT
id, cpid, label, cpdatetime
FROM
mytable AS a
WHERE
id NOT IN
(
SELECT
id
FROM
mytable AS b
WHERE
a.label = b.label
AND
a.cpdatetime > b.cpdatetime
)
AND
label LIKE 'CB%'
AND
cpid LIKE :cpid
GROUP BY label
ORDER BY cpdatetime ASC
桌子看起来像这样
1 | 170.1 | CB55 | 2013-01-01 00:00:01
2 | 135.5 | CB55 | 2013-01-01 00:00:02
3 | 135.6 | CB59 | 2013-01-01 00:00:03
4 | 135.5 | CM43 | 2013-01-01 00:00:04
5 | 135.5 | CB46 | 2013-01-01 00:00:05
6 | 135.7 | CB46 | 2013-01-01 00:00:06
7 | 170.2 | CB46 | 2013-01-01 00:00:07
我希望我的查询返回
3 | 135.6 | CB59
5 | 135.5 | CB46
编辑
标签是狗/猫,cpids 是临时家庭饲养狗/猫。
狗/猫从一个家庭搬到另一个家庭。
我需要找到属于 :userinput 家庭的狗/猫,但前提是它们以前不在另一个家庭中
我无法更改数据库,只需要按原样处理数据,而且我不是编写应用程序/数据库模式的人。