在mysql中使用group by和count = 1更新表

时间:2017-10-04 18:57:40

标签: mysql group-by duplicates

我有这个SQL查询:

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);

我在 SELECT * FROM caduti GROUP BY foto HAVING count(foto) = 1 列中有一个重复值的表caduti,并且需要使用列foto中的值更新列foto_ok,仅用于那些在列。

我已经尝试了几个像这样的UPDATE语句

foto

但我无法弄清楚如何让它发挥作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以从内部查询中获取唯一的foto,然后应用自联接并更新所有行。

 UPDATE (SELECT foto
 FROM caduti
 GROUP BY foto
 HAVING count(foto) = 1) u
 INNER JOIN caduti AS c ON c.foto = u.foto set foto_ok=u.foto;