[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 メーリングリストの案内