質問

後述のサンプルデータでそれぞれのuser_idのfoodのユニーク数を知りたいのですが、どのようなSQLにすればよいでしょうか。

例えば下記の場合、
user_id=1は3 (apple, banana,melon)
user_id=2は1 (apple)
というような結果を得たいと思っています。

どのようなSQLにすればよいでしょうか。

何かしらの言語で取得して、それを再度集計ということは行いたくなく、できるだけSQLだけで完結させたいです。よろしくおねがいします。

テーブル

users

レコード

id,user_id,food
1,1,apple
2,1,apple
3,1,banana
4,1,melon
5,1,melon
6,2,apple
7,,,