mysql:11288
From: Manabu Tatesawa <Manabu Tatesawa <mabu@xxxxxxxxxx>>
Date: Mon, 28 Mar 2005 21:42:46 +0900
Subject: [mysql 11288] Re: _[mysql_11190]_updat e文の_set句に集合関数countを使いたい
館澤です。 ご返答、どうも有難う御座います。 4.1ではselect結果をテーブルのように扱えること(サブクエリー?)を 利用して、間接的に集合関数の結果を set するのですね。 #なるほど!です。 4.1以前のMySQLだと、やはりテンポラリテーブルを使うか delete+insert の方法しかないということで納得です。 非常に参考になりました。 どうも有難う御座います。 Akira Kuroda wrote: > 黒田と申します. (snip) > 4.1.x ではこういう SQL で更新できました. > update TCount c, (select name, count(*) as cnt from tname group by name) n > set c.cnt = n.cnt > where c.name = n.name > > それ以前であれば 2段階に分けるしかないと思います. > 1. tname と tcount を join してマッチするレコードを tcount から delete > 2. tname と tcount を join して count を計算して tcount に insert -- 館澤学 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を使いたい