![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
テーブルA
ユーザーID,地名,県名,評価
テーブルB
ユーザーID,県名,制覇flag
のような二つのテーブルがあると仮定してSelect文1、
"select 県名,count(地名) from テーブルA where ユーザーID=1 group by 県名 order by count(地名);"
の結果が
県名,count(地名)
北海道,30
東京,22
京都,15
名古屋,10
鳥取,9
沖縄,8
であるとし、
Select文2、
"select 県名 from テーブルB where usrid=1 and 制覇flag='true'"
の結果が、
県名
北海道
東京
とします。
このSelect文1の結果から、Select文2の結果を引いて
県名,count(地名)
京都,15
名古屋,10
鳥取,9
沖縄,8
の結果を得るにはどうすればよいでしょうか?
Mysqlのバージョンは5.0.21です。
No.1ベストアンサー
- 回答日時:
名古屋は、県名ではないですが?
-- example 1
select 県名,count(地名) as cnt
from tblA
where uid=1
and 県名 not in(
select 県名
from tblB
where tblA.uid=uid
and 制覇flag=1)
group by 県名
order by cnt desc;
-- example 2
select 県名,count(地名) as cnt
from tblA
where uid=1
and not exists
(select * from tblB
where tblA.県名=県名
and tblA.uid=tblB.uid
and 制覇flag=1)
group by 県名
order by cnt desc;
-- example 3
select tblA.県名,count(地名) as cnt
from tblA
left join tblB
on tblA.県名=tblB.県名
and tblA.uid=tblB.uid
and 制覇flag=1
where tblA.uid=1
and tblB.県名 is null
group by tblA.県名
order by cnt desc
;
-- example 3
select tblA.県名,count(地名) as cnt
from tblA
left join tblB
on tblA.県名=tblB.県名
and tblA.uid=tblB.uid
and 制覇flag=1
where tblA.uid=1
and tblB.県名 is null
group by tblA.県名
order by cnt desc
;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL select *, `人口(男)`AND`人口(女)`/'面積' as '人口密度'FROM … 1 2023/07/03 21:05
- MySQL 「都道府県の面積の大きい順に並べる」このクエリselect構文を教えてください! テーブル名は'地理 1 2023/07/05 17:11
- MySQL クエリを教えてください select構文です 「各郡および各支庁の総面積の一覧。大きい順に示せ。」 2 2023/07/06 22:19
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- Oracle SQL update方法 2 2022/06/22 14:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select文の実行結果に空白行を...
-
SQL文の入れ子について
-
割合(パーセント)を求めるには?
-
SQLにて順列の抽出
-
SQLローダーCSV取込で、囲み文...
-
【PL/SQL】FROM区に変数を使う方法
-
group byの並び順を変えるだけ...
-
エクセル、並び替え正しくソー...
-
テーブルの最後(最新)のレコー...
-
並べ替えについて
-
SELECT FOR UPDATE で該当レコ...
-
実人数と延べ人数
-
「数字で始まらない」ものを抽...
-
2回実行のSQL文を1回にしたい
-
where 都道府県名 and 県庁所在...
-
SQLで曜日のソートを月火水木金...
-
配列に指定した値が含まれてい...
-
updateで複数行更新したい
-
ファイルの漢数字の順番につい...
-
PL/SQLでフェッチでNULLの項目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
select文の実行結果に空白行を...
-
割合(パーセント)を求めるには?
-
SQL文の入れ子について
-
空きのID番号を取得する方法
-
SQLで連続したカラムが何個ある...
-
Mysqlで変数を使ったSELECT文の...
-
mysql5でGROUP BYごとにLIMIT??
-
SQLだけでselect結果に定数を加...
-
SQLにて順列の抽出
-
直近のデータのリストを取得したい
-
条件付けで集計したものをUNION...
-
任意の上位の集計を取得するには?
-
時間帯テーブルから直近空き時...
-
Select文1 マイナス Select文2
-
時間帯テーブルから直近空き時...
-
min について
-
LIMIT句で少なくとも1行は選択...
-
MySQLで合計と小計の計算方法を...
-
GROUP BY句の集計について
-
1つのSQLにしたいです
おすすめ情報