【发布时间】:2018-11-01 11:43:12
【问题描述】:
尝试了很多建议来让它发挥作用,很难解释,所以下面是我拥有的数据和我想要达到的结果。
如果不是 MAX Ldate,我想将“活动”列更新为 0。
ID | SNumber | Ldate | Active
4804 188 2015-11-17 1
4806 189 2015-11-25 1
4807 190 2015-11-25 1
4808 191 2015-11-19 1
4809 192 2015-11-19 1
4820 193 2015-11-17 1
4821 193 2016-06-08 1
4830 194 2015-11-17 1
4831 194 2016-06-08 1
4828 195 2015-11-17 1
4829 195 2016-06-08 1
ID SNumber Ldate Active
4804 188 2015-11-17 1
4806 189 2015-11-25 1
4807 190 2015-11-25 1
4808 191 2015-11-19 1
4809 192 2015-11-19 1
4820 193 2015-11-17 0
4821 193 2016-06-08 1
4830 194 2015-11-17 0
4831 194 2016-06-08 1
4828 195 2015-11-17 0
4829 195 2016-06-08 1
我可以通过“select ID, SNumber, Ldate from (select * from tbl order by SNumber, Ldate desc) x group by SNumber”来获取所有具有 MAX Ldate 的行
感谢您花时间查看!
【问题讨论】:
-
您确定要存储派生数据吗?顺便说一句,您现有的查询依赖于旧的 hack,其结果在最新版本的 MySQL 中无法保证。 (实际上,它永远无法保证,但那是另一回事了)
-
嗯,好的,我会寻找更好的解决方案。无论如何,感谢您的关注。