MySQLでグループ化したものを条件で絞る(HAVING)
2014/05/21
正規化したテーブルがあってその中には
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件以上のものを出力
になるんだろうけど、ちゃんと理解できていないからか
応用が難しそう。グループ化後も絞れる、ということは
覚えておく。
関連記事
-
-
MySQLにてdate型のカラムから曜日を計算し表示する方法
MySQLにてdateもしくはdatetime型のデータを取り出して曜日もあわせ ...
-
-
MySQLでROW_NUMBER関数を使用してグループ毎に連番を設定する方法
以前にMySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法 ...
-
-
MySQLで指定の順にデータをソートする方法(ORDER BY FIELD)
MySQLで指定した順にソートしてデータを取り出したい。通常だと主キーだったり何 ...
-
-
MySQLで特定のテーブルにパーティショニング設定し高速化を図る方法
以前に他社が設計されたログ系のテーブルを拝見した際にパーティショニング設定が行わ ...
-
-
MySQLでカラム内容によって条件分岐させたい場合の対応方法
MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...