ラボ > MySQL:group関連

MySQL groupしたときのレコード数が欲しい(count(distinct 〇〇〇))

例えば、groupをすることにより100レコードが30レコードになった。このときの「レコード数:30」を取得

作成日:2018-09-27, 更新日:2023-01-15

基本

グループにしたときの各総数じゃなくて、レコード数が欲しい

元データ groupしたときの各総数 取得したいデータ
name order
鳥精 1
豚精 1
丸ごとシマウマ 1
豚精 2
丸ごとシマウマ 2
name sum(order)
鳥精 1
豚精 3
丸ごとシマウマ 3
_cnt_name
3

クエリ

「count(〇〇〇)」や「group by 〇〇〇」を使わず「count(distinct 〇〇〇)」を使う

select count(distinct `name`) _cnt_name from 〇〇〇

関連項目