私たちのオンライン注文プラットフォームには、店舗が配達する通りのデータベースがあります。POSシステムからのエクスポートに基づいています。
現実の世界では、正確な住所に配達できる店舗は1つだけです。これは、通りの名前が複数の店舗で計算されているデータベースには当てはまりません。
表は次のようになります-簡略化:
通り
street_id
street_name
street_from
street_to
store_id
現在テーブルにある行の例:
1, "very nice street", 1, 999, 6
2, "very nice street", 1, 999, 10
3, "random street", 1, 53, 10
4, "random street", 2, 64, 10
5, "unique street", 1, 999, 10
6, "unique street", 1, 999, 6
同じ通りの名前が2つ以上の店舗を参照している場合に、すべての行を取得する方法についてのアイデアはありますか?上記の例では、クエリで「とても素敵な通り」と「ユニークな通り」を返したいと思います。「ランダムな通り」はストア番号10のみを参照しているため、必要ありません。
したがって、次のSQLは「ランダムストリート」を返します
SELECT street_name, COUNT(*)
FROM streets
GROUP BY street_name
HAVING COUNT(*) > 1;