勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

MySQLでグループ化したものを条件で絞る(HAVING)

   2014/05/21  MySQL / MariaDB

正規化したテーブルがあってその中には
idとtagのカラムがある。

でtagの方でアンド検索したい場合に
途方にくれて上司に教えてもらったのでメモ。

■ソース
SELECT id
FROM test_table
WHERE tag IN (1,5)
GROUP BY id
HAVING COUNT(id) >= 2

■その他
グループ化したものを条件で絞るといったものみたい。

tagに1か5が入っているidを検索⇒idでグループ化しつつ、
idの件数が2件以上のものを出力

になるんだろうけど、ちゃんと理解できていないからか
応用が難しそう。グループ化後も絞れる、ということは
覚えておく。

■参考サイト
http://www3441ui.sakura.ne.jp/wordpress/?p=319

 - MySQL / MariaDB

  関連記事

MySQLでデータの集計時に1日の起点を任意の時間に変更する方法
MySQLでデータの集計時に1日の起点を任意の時間に変更する方法

MySQLで1日毎の集計を行う際、例えば2020/01/01のデータは2020/ ...

MySQLでdatetime型データの〇日後を取得する方法(DATEDIFF)
MySQLでdatetime型データの〇日後を取得する方法(DATEDIFF)

MySQLでdatetime型データがあり、何日経過しているかを取得し、〇日経過 ...

MySQLのTEMPORARY TABLE(テンポラリテーブル)で高速化を図る方法
MySQLのTEMPORARY TABLE(テンポラリテーブル)で高速化を図る方法

MySQLで5000万件ぐらいデータが入っているテーブルから日本語検索しないとい ...

MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表示する方法
MySQLにてSELECT時にdate型のカラムから干支(十二支)を計算し表示する方法

MySQLにdate型のカラムに誕生年月日が格納されており、そこから干支(十二支 ...

MySQLで同一サーバーの異なるDB内のテーブルをJOINする
MySQLで同一サーバーの異なるDB内のテーブルをJOINする

同一のMySQLサーバーでdb1データベースのtable1テーブルと、db2デー ...