MYSQLのWith Rollup


MYSQLでcount関数を利用するとき、カウントした合計の値も出したかったんだけど、いままではPHP側で単に「全部足して表示」みたいな

アホなことをしていた。

MYSQL側でなんとかならないのかなーと思ったら、「with rollup」という文があった。最後にNull値が加わり、その合計が表示されるらしい。

mysql> SELECT city, COUNT(*) FROM users GROUP BY city WITH ROLLUP;

+-----------------------+----------+

| city                  | COUNT(*) |

+-----------------------+----------+

| Melbourne             |       22 | 

| Sydney                |       13 | 

| Perth                 |       13 | 

| NULL                  |       48 | 

+-----------------------+----------+

便利便利。

ただ、このnullの合計値を、「ほにゃらら as count_total」みたいに、変数みたいに割り振れないのかなー。調べてみよう。

林 真生 / Hayashi Masuyo

オーストラリア、ブリスベン在住。豪政府認定教育エージェントカウンセラー(QEAC登録番号 I008)。日本では販売業、IT関連業に携わり、海外といえば旅行でヨーロッパやアメリカを訪れる程度。そんな中、友人のススメもあり、2002年ワーキングホリデーでゴールドコーストへ。右も左もわからない中、留学代理店(現職)のWEBサイト制作をする機会に恵まれ、1年間夢中で専門知識を身につける。その後、勤務先のサポートを得て2006年に永住権を取得。2年後、新オフィス開設に伴いメルボルンに転勤、約7年間をメルボルンで過ごす。しかし、QLD州の暖かさが忘れられず(?)、 2015年7月にQLD州に戻り、現在ブリスベンオフィスの留学カウンセラーとして、全力で留学生のサポートを行っています。このカウンセラーに質問する