[前][次][番号順一覧][スレッド一覧]

mysql:11190

From: Manabu Tatesawa <Manabu Tatesawa <mabu@xxxxxxxxxx>>
Date: Fri, 18 Mar 2005 14:26:19 +0900
Subject: [mysql 11190] update文のset句に集合関数countを使いたい

いつもお世話になっております。館澤と申します。

update文の set 句に集合関数countを使いたいのですが
どうすれば動作させることが出来るのか悩んでいます。

具体的には下のようなクエリーを考えています。

人名テーブル TName に

  name      etc
  --------  ---------
  Satou     AAA
  Tanaka    BBB
  Satou     CCCC
  Suzuki    DD

が入っていて、
同名の人数をカウントしていある人名サマリーテーブル TCount

  name     cnt
  -------  ---------
  Satou    2
  Suzuki   1
  Katou    0

を更新するクエリーを考えています。
#TCountに存在しない名前はカウントしなくて良いです

そこで下のようなクエリーを作ってみたのですが

   update TCount c, TName n
      set c.cnt = count(*)
    where c.name  = n.name
    group by n.name

"ERROR 1064 : group by name付近に不具合あり" という旨の
エラーが出て、動作しません。

何かうまいクエリーがあるように思うのですが
アイデアに行き詰まってしまいました。
どうか、みなさまの知恵をお借りしたく。

宜しくお願い致します。

〜〜〜〜
ちなみに MySQL環境 は
   mysql  Ver 12.22 Distrib 4.0.18, for suse-linux (i686)
です。
〜〜〜〜

-- 
館澤学
mabu@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

->   11190 2005-03-18 14:26 [Manabu Tatesawa <mab] update文のset句に集合関数countを使いたい
     11287 2005-03-28 20:56 ┗[Akira Kuroda <akurod] Re: _[mysql_11190]_updat e文の_set句に集合関数co_untを使いたい
     11288 2005-03-28 21:42  ┗[Manabu Tatesawa <mab] Re: _[mysql_11190]_updat  e文の_set句に集合関数countを使いたい