我需要在此查詢中獲得nid「單獨」。返回一個值(而不是總數)的SQL計數
SELECT count(nid) as total,nid FROM bird_countries b group by nid order by total asc`
基本上我需要這個做類似的東西
update table set field=1 where id in (the other query);
現在,我得到的總NID的和NID的,但怎麼也找不到剛剛獲得NID值使用它們。
什麼返回第一查詢的一個例子是:
total nid
1 323
1 2645
1 526
2 123
所以我只是想獲取值323,2645,526其實我並不想要得到的123作爲計數因爲這是2 我需要在表中設置一個字段爲1,其中數爲1
UPDATE(第二個問題)情況: 我得到一個很好的答案,但現在我有應用它的錯誤。我的查詢是
update bird_countries set season="1" where nid in (SELECT nid FROM bird_countries group by nid HAVING count(*) = 1)
和mysql說:「您不能在FORM子句中更新指定tablet目標'bird_countries'。」 那麼,有沒有簡單/快速的方法來做到這一點?我可以複製表bird_countries並將其用於更新(稍後放下),但可能有更清晰的方法。謝謝!
什麼是NID,你爲什麼計數他們和你有什麼做的? – 2010-06-19 16:35:41
只是一個整數,一個數字。 – 2010-06-19 16:36:13
+1用於編輯示例。現在問題很明顯。 – 2010-06-19 16:49:08