1

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

我的表有以下列(姓名、邮政编码、国家、电话号码、字母(字母数))

我想根据 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: not a single-group group function。我已经用谷歌搜索了这个问题,并尝试在 group by 中使用我的 start_time,但这给了我错误的结果。

4

2 回答 2

1

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

Select Postal_Code, SUM(letters)
from Table_name    
Group by Postal_Code
于 2013-05-14T06:47:31.803 回答
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
于 2013-05-14T06:48:06.850 回答