カラムA、B、Cが同じ値のレコード数を出力するSQL

もっとちゃんとした書き方があるとおもうのだけど、パッと思いついたのがこれだった。
もし、他のSQLの書き方があれば教えてくださいm(_ _)m

データ構造例

テーブル名:demos

id A B C D E
1 hoge fuga NULL mysql postgres
2 baz hoge foo bar mysql
3 hoge fuga NULL foo bar
4 fuga baz foo NULL mysql
5 fuga baz foo NULL mysql

SQL

SELECT
 CONCAT(A, B, IFNULL(C, 'null')) unique_id,
 COUNT(CONCAT(A, B, IFNULL(C, 'null'))) unique_id_count
 
FROM 
 demos

GROUP BY
 unique_id

HAVING
 unique_id_count > 1
;

+--------------+------------------+
| unique_id    | unique_id_count  | 
+--------------+------------------+
| hogefuganull |    2             | 
+--------------+------------------+
| fugabazfoo   |    2             | 
+--------------+------------------+

追記

group by を使えばいけましたね・・・。

修正SQL

SELECT
 COUNT(*) unique_id_count
 
FROM 
 demos

GROUP BY
 A, B, C

HAVING
 unique_id_count > 1
;