postgresql 使用从联接中计数的值的名称创建列[已关闭]

jhkqcmku  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(119)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
9天前关闭。
Improve this question
我正在尝试创建一个列,该列包含从联接中计算出的值的名称。

select count(customer.age)
from customer
inner join services on customer.customer_id = services.customer_id
where age > 64
GROUP BY services.internetservices;

这是InternetServices有3个数据链接表时的输出。

"count"
1155
1485
740

如何创建一个列,其中包含已计算值的名称(值?)?

bvjveswy

bvjveswy1#

我不知道,如果下面的查询涵盖了你所问的或没有。每个互联网服务,你想计数客户超过64。
为了知道一个人的年龄,你不应该存储年龄,因为一个人的年龄每天都在变化。
您对每个Internet服务的客户进行计数,因此从服务表中进行选择然后加入客户似乎是很自然的。
有些Internet服务可能没有任何超过64岁的客户。是否要以计数为零的方式显示这些服务?然后将客户加入外部。

SELECT s.internetservices, count(c.customer_id) 
FROM services s
LEFT OUTER JOIN customer c ON c.customer_id = s.customer_id
                          AND age(c.birthday) >= INTERVAL '65 years'
GROUP BY s.internetservices
ORDER BY s.internetservices;

这包括65岁及以上的客户,我想这就是你想做的。

相关问题