我需要帮助来构建特定查询。
设想
我有一个带有 pol_id (auto_incremente)、someOtherID 和 someValue 的表 A
表的内容可能如下所示:
pol_id, someOtherID, someValue -------------------------------- 1 5005 我喜欢芝士汉堡 2 5005 我喜欢香蕉 3 6000 在多伦多 4 6018 开门 5 6018 真的 6 6018 炸薯条
有一个第 3 方软件,它从该表中收集数据。我对操纵软件使用的 sql 语句没有任何影响,因为我无权访问它的源代码。
第 3 方软件选择“someOtherID”为例如 6018 的所有内容,因此它显示 3 个结果。问题是,我只希望显示最后一个结果(具有最高 pol_id)。所以我想我会做一个 cronjob 或做以下事情:
选择每个唯一的 someOtherIDs 降序,删除该表中的所有内容,其中 someOtherID 等于选定的一个和不同的 pol_id
像这样的东西:
伪代码: select distinct someOtherID, pol_id from A order by pol_id DESC -- 得到最高的 对于每个 someOtherID 作为 selectedLine: 从 A 中删除 someOtherID = selectedLine.someOtherID AND pol_id != selectedLine.pol_id
我想每隔几秒钟运行一次这个语句,或者把它放在触发器或其他东西上,这样表 A 总是干净的
编辑 我从 damien 那里得到了触发解决方案,谢谢大家的回复。