我从表中获取正确的数据时遇到问题。 我有一张表格,里面有关于客户寄信的信息。
我的桌子有以下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在组中,但这给了我错误的结果。
答案 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