İlk kadar, korkunç başlık için özür dilemek benim sorunumu dile getirmek daha iyi bir yol düşünemiyorum. (Daha iyi altnernatives önermek için çekinmeyin)
Basically I have a table with a "count" column. I want to reset all counts to zero except for the 10 rows with the top values. I want them to be reset to 0.
Nasıl birden sorguları yazmadan bu elde edebilirim?
Update I have my query as the following now
UPDATE covers AS t1
LEFT JOIN (SELECT t.cover_id
FROM covers t
ORDER BY t.cover_views DESC
LIMIT 10) AS t2 ON t2.id = t.id
SET cover_views = 0
WHERE t2.id IS NULL
Herhangi bir fikri neden - Ben hata #1054 - Unknown column 't2.id' in 'where clause'
olsun?
Ben de aynı sonucu ile takip çalıştı
UPDATE covers t1
LEFT JOIN (SELECT t.cover_id
FROM covers t
ORDER BY t.cover_views DESC
LIMIT 10) t2 ON t2.id = t.id
SET t1.cover_views = 0
WHERE t2.id IS NULL