勉強したことのメモ

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でdatetime型のカラムをdate型やtime型に変換して検索する方法
MySQLでdatetime型のカラムをdate型やtime型に変換して検索する方法

MySQLでdatetime型のカラムがあり、そちらをdate型やtime型に変 ...

MySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法
MySQLでオートインクリメントを使用せずにグループ毎に連番を設定する方法

MySQLでオートインクリメントを使用せずにグループ毎で連番を割り振りたかった。 ...

WordPressサイトのロードアベレージが高い際の対応方法
WordPressサイトのロードアベレージが高い際の対応方法

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)
MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)

あるシステムでMySQLの検索時に「WHERE test_column coll ...

htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力

MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...