私はMySQLを習得しようとしていましたが、重複を選択しないように結合クエリを作成する際に問題があります。join/whereで重複を選択していません
基本的に、私がでてるのはここです:
SELECT atable.phonenumber, btable.date
FROM btable
LEFT JOIN atable ON btable.id = atable.id
WHERE btable.country_id = 4
しかし、私のデータベースでは、列atable.phonenumber
で重複行を持つ可能性があります。例えば
(明確にするために添加アスタリスク)
phonenumber | date
-------------|-----------
*555-681-2105 | 2015-08-12
555-425-5161 | 2015-08-15
331-484-7784 | 2015-08-17
*555-681-2105 | 2015-08-25
..など。
私はSELECT DISTINCT
を使用しようとしましたが動作しません。私はまたGROUP BY
を推奨した他の解決策を探していましたが、それはエラーを投げました。おそらく私のWHERE
の条項と条件のためです。どのように私は簡単にこれを達成することができますか分からない。あなたがだけ見ているので、重複した電話番号を取得している任意の行の値は、行が一意作りに参加することができる
-
ここでの質問は、異なる値とは何ですか?あなたのアスタリスクされた行のどれが返されるべきかのように、日付が異なるので、 –
私は、日付が同じである可能性について心配していません、私は電話番号が同じであることだけを心配しています。私が本質的に達成しようとしているのは、同じ電話番号を持つ行を選択しないことです。 –
さらに明確にするために、同じ電話番号の行を1回選択したいのですが、同じ電話番号が20の異なる行に返ってくることは望ましくありません。 –