[PHP-users 19648]GROUP BY節、HAVING節 について
zai
zai91210 @ sky.zero.ad.jp
2004年 1月 2日 (金) 22:13:34 JST
おめでとうございます、zaiと申します。よろしくお願いいたします。
環境は、WindowsXP Pro、Apache1.3.28、PHP4.2.2、MySQL3.23.51です。
教えていただきたいことは、複数の項目でGROUP節とHAVING節を使う方法です。
可能かどうかもわかりません。
例えば、あるテーブルに、項目1、項目2、code1、code2、code3、code4、
code5という7つの項目(以上いずれもVARCHAR型)があります。
1.code1〜5は、VARCHAR型ですが、"c123"以上、"d998"以下と言う扱い方をし
たい。
2.それが出来れば、"c555"や"d122"などは、1.の範囲に入るので、code1〜
code5の5つの項目のなかの、どの項目にあっても、カウントを1する。
具体的には、
レコードAは、code2に"c555"、code4に"d122"、code5に"x333"、
レコードBは、code1に"c222"、code3に"a111"、
レコードCは、code2に"c555"、code5に"c999"
と、言うような場合
レコードAから2個、Bから1個、Cから2個の合計カウント5を求めたいの
です。
以下のようにしますと、
select 項目1, 項目2, count(*) from table名 GROUP BY code1 having code1
between 'c555' and 'd998'
1.に関しては、c123<code1<d998は、問題ないように思われます。
次の2.に関して、複数の項目の場合、GROUP BY 節とHAVING節の使い方が、まっ
たくわかりません。
どうぞ、ご指導をお願いいたします。
PHP-users メーリングリストの案内