重複データの抽出と件数取得

2016/04/12

どう説明すればいいかが分からない。

具体例

言葉でアレコレ説明するのが面倒なので、具体的にメモっていく。

使うテーブル

name taste
鳥精 タレ
鳥精
鳥精 味噌
豚精 タレ
豚精
豚精 味噌
ひな皮 タレ
ひな皮
丸ごとシマウマ タレ
丸ごとシマウマ

欲しい結果

「taste」で「タレ」と「味噌」を持つ「name」の件数が欲しい。

要は「2」が返ってきてくれたらOK。

重複データの抽出

いきなり件数を出したいんだけど・・・わからないのでひとまず「taste」で「タレ」と「味噌」を持つデータの抽出。

▼クエリ

select name
from xxx
where taste in (‘タレ’,’味噌’)
group by name having count(name)>=2;

※「タレと味噌」の2つだから「count(name)>=2」にしている。

▼結果

name
鳥精
豚精

間違った例と結果

▼クエリ

select name
from xxx
where taste in (‘タレ’,’味噌’)
group by name;

▼結果

name
鳥精
豚精
ひな皮
丸ごとシマウマ

※「タレ」か「味噌」を含むデータが返ってきた。

重複データの抽出

やりかたがわからないので・・・サブクエリにしてみた。

▼クエリ

select count(*) from (
  select name
  from xxx
  where taste in (‘タレ’,’味噌’)
  group by name having count(name)>=2
) as hoge;

▼結果

count(*)
2

新着(ニュース関連以外)

2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい
2017-11-30
Xampp+FuelPHP1.8をサーバーにupしたらエラーになった。