遇到困难(Column_name)

时间:2013-05-14 06:43:35

标签: sql oracle distinct

我从表中获取正确的数据时遇到问题。 我有一张表格,里面有关于客户寄信的信息。

我的桌子有以下coloumbs(姓名,邮政编码,国家,Phone_number,字母(字母数))

我希望得到每个客户发送的信件数量,具体取决于Postal_code。

Select Distinct(Postal_Code), Count(*)
from Table_name    
Group by Postal_Code, Letters

这样做的结果并不完全是我想要的,因为我得到了邮政编码的重复,而且字母的数量是错误的。 我对这些东西很新,所以我希望有人可以帮助我。

编辑:

目前,我正在尝试记录日期,而我的代码我现在也喜欢这个。

Select Postal_Code, Sum(Letters), To_Char(trunc(Start_time),'DD-MM-YYYY') AS StartTime
    from Table_name    
    Group by Postal_Code

但是我在运行时遇到错误。错误说:ORA-00937:不是单组组功能。 我已经解决了问题,并尝试了我的start_time在组中,但这给了我错误的结果。

2 个答案:

答案 0 :(得分:1)

如果您使用GROUP BY,则不需要DISTINCT。由于字母是数字,因此需要SUM()它们。因此,每个邮政编码的总字母将是:

Select Postal_Code, SUM(letters)
from Table_name    
Group by Postal_Code

答案 1 :(得分:0)

GROUP BY为子句中的所有列提供了不同的值。因此,按POSTAL_CODE分组,LETTERS就是为什么你会得到重复的POSTAL_CODE值。

我不确定我完全明白你要做什么,但这是我的解释:

Select Postal_Code
       , sum(letters) no_of_letters
       , Count(*) no_of_customers
from Table_name    
Group by Postal_Code