MySQLでグループ化したものを条件で絞る(HAVING)
正規化したテーブルがあってその中には
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でtext型カラムに入っている数値をint型としてソートする
MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...
-
-
MySQLでserver has gone~というエラー
MySQLで「MySQL server has gone away」というエラー ...
-
-
MySQLでカラム内容によって条件分岐させたい
MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...
-
-
テンポラリテーブルで高速化
5000万件ぐらいデータが入っているテーブルから 日本語検索しないといけないケー ...
-
-
MySQLでWhere句を使ってカラム指定でデータコピー
MySQLで大量のデータを保存しているテーブルがあり、そのデータを絞った上で尚且 ...
-
-
MySQLでランダムに取得
SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
phpmyadminからプロセスの停止
重たいSQL文を叩いた際、どうにも処理できず メモリ使用率が100%から下がらな ...
-
-
MySQLでパターンマッチの逆
LIKE検索の逆ってなったのでメモ。 NOT LIKE '%あああ%' が正解み ...
-
-
MySQLiでDELETE文
MySQLiでDELETE文 ■ソース $mysqli = new mysqli ...
- PREV
- phpmyadminからプロセスの停止
- NEXT
- canonicalについて