person_idと一緒にunique fruit_nameを選択するにはどのようにすればいいですか? 私はクエリを書くがエラーになります。SQLでdistinctを使用
マイクエリ:
select person_id,distinct fruit_name from person_fruit;
表:事前に
ありがとう!
person_idと一緒にunique fruit_nameを選択するにはどのようにすればいいですか? 私はクエリを書くがエラーになります。SQLでdistinctを使用
マイクエリ:
select person_id,distinct fruit_name from person_fruit;
表:事前に
ありがとう!
DISTINCT
は、常にすべての列で機能します。標準SQLでは、SELECT
の直後に置く必要があります(実際はデフォルトはSELECT ALL
)。構文が有効な標準SQLではありません。
果物ごとに複数のidsがあるため、どのidsを返すかを定義する必要があります。
select min(person_id), -- or MAX
fruit_name
from person_fruit
group by fruit_name;
これは、すべてのDBMSで動作していないだけで、古いMySQLバージョンでは(私は本当にMySQLは最終的には標準規格に従うことのような、もちろんこれが発生します:あなたは、単にGROUP BYに切り替えることができますあなたの場合は
MySQL開発者のための多くの混乱)。
ありがとう、私の問題を解決します。 –
あなたが代わりにクエリ下記
select person_id,fruit_name from person_fruit group by fruit_name;
バイ・グループを使用することができ、あなたの選択のすべての列に基づくユニークな提供など個別の単一の列に基づく個別の行を取得することはできませんが、あなたに基づいて個別の行を提供します両方の列の組み合わせ。
select distinct person_id, fruit_name from person_fruit;
これは 'SELECT DISTINCT'であり、選択された行全体で機能します。 – jarlh
あなたは2つの異なるマンゴー列を持っています。あなたはこの場合どのperson_idを説明することができますか? – jarlh
任意person_id私が取ることができる...結果を得る別の方法はありますか –