gpt4 book ai didi

sql - 获取 child 关系的计数和 child 的 child 的计数

转载 作者:行者123 更新时间:2023-11-29 12:47:17 29 4
gpt4 key购买 nike

对不起,这个标题太俗了,但我真的不确定如何解释这个,我是新一代的 SQL 技能由于事件记录模式而退化的人之一!

基本上我在 PostgreSQL 中有三个表

客户端(一个客户端有很多 map ) - 编号

map ( map 有一个客户端和很多层) - ID - client_id

图层(图层有一张图) - ID - map 编号

我想编写一个 SQL 查询,返回 Cliend.id 以及客户端拥有的 map 数量和客户端在所有 map 上的总层数。

这可以通过单个查询实现吗?速度不是问题,因为这仅用于分析目的,因此不会经常运行。

最佳答案

我会为此使用一对子查询。像这样的东西:

SELECT
id,
(
SELECT count(map.id)
FROM map
WHERE map.client_id = client.id
) AS n_maps,
(
SELECT count(layer.id)
FROM map INNER JOIN layer ON (layer.map_id = map.id)
WHERE map.client_id = client.id
) AS n_layers
FROM client;

关于sql - 获取 child 关系的计数和 child 的 child 的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13371679/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com