0

![ここに画像の説明を入力してください][1]データベースで作業していて、having 句に関するクエリがあります。

私はテーブルを持っています

sales 
(
  id number(5) primary key,
  amt number(10),
  house_no varchar2 (10),
  city varchar2 (10)
)

私の問題は、特定の sales_id とその数を見つけて、各エントリcityで同じものを見つけたいということです。house_no

私はそれを解決しようとしましたが、まだ解決していません。を使用してoracle 10gいます。

4

2 に答える 2

1

SQLフィドル

SELECT count(*), s2.house_no, s2.city FROM sales s1
  INNER JOIN sales s2 ON s1.id = s2.id 
  GROUP BY s2.city, s2.house_no
  HAVING count(*) > 1;

出力を次のように表示します

| COUNT(*) | HOUSE_NO |   CITY |
|----------|----------|--------|
|        2 |      102 |   Pune |
|        3 |      540 | Sangli |

複数列の GROUP BY 句のリファレンス

于 2013-10-30T06:57:36.677 に答える
0

これを試して:

select id, cnt
  from (select city, house_no, count(*) as cnt
          from sales t
         group by city, house_no) t,
       sales c
 where t.city = c.city
   and t.house_no = c.house_no

Prathamesh 07 : こんにちは私の問題の詳細な説明は....

イメージシナリオ

解決:

select count(*) as cnt, city, house_no
          from sales t
         group by city, house_no
having count(*)>1
于 2013-10-30T07:06:55.540 に答える