勉強したことのメモ

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のクエリキャッシュの設定方法
MySQLのクエリキャッシュの設定方法

MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。   ...

MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法
MySQLでスレッドの実行状況を表示しスレッドの経過時間チェックや特定スレッドを強制終了する方法

データベースサーバが重たく、原因を調査する機会があった。サーバ自体のメモリやCP ...

MySQLのバイナリログ(/var/lib/mysql/binlog)を適切に削除する方法
MySQLのバイナリログ(/var/lib/mysql/binlog)を適切に削除する方法

レンタルしているVPS内のファイルを整理していると「/var/lib/mysql ...

MySQLでINSERT時にオートインクリメントではないカラムに連番を登録する方法
MySQLでINSERT時にオートインクリメントではないカラムに連番を登録する方法

MySQLでINSERT時にオートインクリメントではないカラムに連番を登録したい ...

MySQLのトリガーを使用して特定のテーブルの操作を行った際に別テーブルにログを残す方法
MySQLのトリガーを使用して特定のテーブルの操作を行った際に別テーブルにログを残す方法

MySQLにトリガーという機能があるらしくどのようなものか調べたところ、事前に「 ...