我有一些数据,无论server_id,product_id和polled_at日期匹配,我想将updated_by设置为2(仅搜索更新者的行已经是1)。我一直在弄乱我的代码,但无法弄明白。请帮我。这就是我所拥有的。
http://sqlfiddle.com/#!2/ebd112/1
前2行不应该更新,只有server_id,product_id和polled_at匹配的所有其他行之间的最大峰值应更新为updated_by = 2
由于
答案 0 :(得分:0)
您需要在查询中添加HAVING子句。这是更新的小提琴: http://sqlfiddle.com/#!2/9e3a9/1
基本上,我没有按照您最初的做法对其进行排序,而是将ORDER BY
更改为HAVING
子句:
HAVING licenses_peak = (SELECT Max(licenses_peak) FROM hpolls WHERE updated_by=1)
这将导致查询仅包含该分组具有最大licenses_peak
值的项目。