2013-10-30 64 views
0

![输入图像描述] [1]我正在一个数据库工作,并有一些关于having子句的查询。有条款......?

我有一个表作为

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

我的问题是,我想找到特定的sales_id的,其计已在每个条目的cityhouse_no相同。

我试图解决它,但还没有到达它。我正在使用oracle 10g

+2

请张贴你到目前为止的SQL语句,并解释什么是你的问题错了。一些样本数据和预期产出也会很好。 – Dijkgraaf

+0

销售编号为主键,您如何期待输出为城市组,house_no? –

+0

Okkk我会在这里附上新的iage,这样你就可以理清... –

回答

1

SQLFiddle

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 | 

Reference输出GROUP BY子句中多列

+0

@Prathamesh 07销售编号是主键,你怎么能期望输出作为城市组,house_no? –

+0

他也需要编号的 – wxyz

+0

让我纠正自己.......我jst想具体计数的记录,这两个城市和房子名称相同..... –

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: 你好我的问题的进一步说明是....

image scenario

解决方案:

select count(*) as cnt, city, house_no 
      from sales t 
     group by city, house_no 
having count(*)>1 
+0

这应该工作! – Deepshikha

+0

选择不同CNT,城市,从house_no(选择城市,house_no,从销售吨数(*)作为CNT 组按城市,house_no)T, 销售Ç 其中t.city = c.city 和叔。 house_no = c.house_no和cnt> 1对不起,编辑没有工作... – wxyz

+0

@Deepshikha不幸的是它不工作它给错误 - “列不明确定义” –