私はSQLで初めてで、他の記事を読むことを学んだことの1つは、FORループの構文がSQLにないことと、何とかそれをエミュレートしようとするのは良い方法ではないということです。FORループのSQL置換
私はこの問題を繰り返しています。テーブルには2列のfav_retail_id
とuser_id
があります。最初の列にはお気に入りの間に追加された小売りが、2番目には小売店をお気に入りに追加したユーザーが表示されます。
ここで、お気に入りの小売のうち、ID = 42の小売をいくつのユーザーが持っているかを知りたいと思います。私は次のように書きました。
select count(id) from favorite_retails
where retail_id = 42
これはかなりうまくいくようです。今私の主張は、ID = 31,54,98などの他の小売店でも同じことをしたいということです。
この情報を繰り返し取得する方法はありますか?サポートのため おかげで、A.
によってフィルタでシンプルな
group by
を使用することができます 'IN'キーワードを見てください:http://www.w3schools.com/sql/sql_in.asp –SQLは宣言型言語であります - あなたは 'what 'に焦点を当て、' how'には焦点を当てません。 –
'favorite_retails'テーブルに希望の' retail_id'を含むテーブルを 'right join 'することもできます。これはおそらく 'in'キーワードの後に1つ以上のidがある場合に必要なものです。 –