mySQLでgroup byした上でcount()したい

2016/04/12

まどろっこしいコトはいいんだ。

重要なことは「DISTINCT」を使って「group by」は使わないってコトだ。

具体例

言葉でアレコレ説明するのが面倒なので、具体的にメモっていく。

使うテーブル

name taste
鳥精 タレ
鳥精
鳥精 味噌
豚精 タレ
豚精
豚精 味噌
ひな皮 タレ
ひな皮
丸ごとシマウマ タレ
丸ごとシマウマ

欲しい結果

「name」が何種類あるか知りたい。

要は「4」が返ってきてくれたらOK。

間違ったクエリと結果

掲題通りのクエリと求めていなかった結果。

select count(name) from xxx group by name;
count(name)
3
3
2
2

※各nameに紐づくtasteをcountしてるっぽい。

正しいクエリと結果

求めている結果とそのときのクエリ。

select count(DISTINCT name) from xxx;
count(DISTINCT name)
4

▼wikiのほうでもまとめておく。
Mysqlでのカウントや平均関連

新着(ニュース関連以外)

2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。
2017-11-09
PCでプッシュ通知ってのをしたい。
2017-11-06
PHPのバージョンを上げたらwikiが壊れたっぽい。
2017-08-03
formのinputでmaxlengthを使うとFirefoxでバグってた。他のブラウザでも気づかずにバグってたかもしれない。
2017-07-19
折れ線グラフをもう少しゆるやかに・・・というか何というか・・・調べていくと「移動平均」っていう言葉にたどり着いた