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

mysql:472

From: Satoshi Koiwa <Satoshi Koiwa <koiwa@xxxxxxxxxx>>
Date: Fri, 25 Dec 98 18:51:18 +0900
Subject: [mysql 472] Re: クロス集計の方法


 なるほど、DECODE関数でしたか。もちろんDECODE関数ならばイヤというほど使って
(というよりも、イヤというほど使った他人の書いたSQLを泣きながらデバッグして
いる)ますが、思いつかなかった。クラクラしているせいではなくて、もともと私の
脳みそは怠け者なんです。

 とするとMySQLだと先の例ではif文を使って
     select    age,
               avg(if(sex = '男', height, NULL)),
               avg(if(sex = '女', height, NULL)),
     group by age;
ですね。
 MySQLには確かにDECODE関数そのものはないですが、ifとconcatでつないでなんと
かしてます。またOracleではおなじみ(なのは私だけか)のNVL関数が見つからなくっ
て最初はあわてましたが、今は冷静にifnull。

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

->     472 1998-12-25 18:51 [Satoshi Koiwa <koiwa] Re: クロス集計の方法                    
       474 1998-12-26 09:07 ┗[<endo@xxxxxxxxxx>   ]