다음 SQL 명령은 여러 개체에서 찾을 수있는 hash
값을 나열합니다.그룹을 확장하고 반복하는 방법
SELECT * FROM (
SELECT
MIN(id) AS id,
hash,
status,
count(*) AS count
FROM foobar
GROUP BY hash
ORDER BY count
) AS t
WHERE count > 1;
...
+------+----------------------------------+--------+-------+
| id | hash | status | count |
+------+----------------------------------+--------+-------+
| 4523 | e4266978b1d99dffbf3a6e0b880a2c5e | 0 | 3 |
| 828 | 9414c7478416b7a40846d66e12df9370 | 0 | 4 |
| 293 | bfc742499fd97c4c8e36f57cdd0fa0e0 | 0 | 5 |
| 244 | ec408e4678789f7983f83a9c330ab8e4 | 0 | 14 |
+------+----------------------------------+--------+-------+
4 rows in set (0.02 sec)
나는 그룹 내에서 각 항목의 status
를 업데이트합니다. 각 26 개 개별 항목의
UDPATE foobar SET status = 9 WHERE hash = "e4266978b1d99dffbf3a6e0b880a2c5e";
어떻게 업데이트 할 수 있습니다
status
다음과 같이 하나의 그룹이 수행 할 수 있습니다? 솔루션은 최소한 MySQL에서 실행되어야합니다.
'상태'를 원하십니까? 현재 쿼리가 '임의의'상태를 반환합니다! – Strawberry
테이블에 해시가 두 번 이상 나타나는 모든 행에 대해 'status'를 9로 업데이트 하시겠습니까? –
출력으로 정확히 원하는 것은 무엇입니까 ?? – Romesh