专业打酱油javaee 2023-11-08 10:33 采纳率: 83.3%
浏览 3
已结题

简单的sql查询统计虚心求指导

如下表结构跟sql

img


想查询出 如下形式:

区域名称 省个数 市个数
一级区域 1 2
二级区域 1 1
一个区域下会有多个省份 不同市区
表sql结构与数据




-- ----------------------------
-- Table structure for data
-- ----------------------------
DROP TABLE IF EXISTS "public"."data";
CREATE TABLE "public"."data" (
  "id" int4 NOT NULL,
  "quyu" varchar(255) COLLATE "pg_catalog"."default",
  "province" varchar(255) COLLATE "pg_catalog"."default",
  "county" varchar(255) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "public"."data"."quyu" IS '区域名称';
COMMENT ON COLUMN "public"."data"."province" IS '省名称';
COMMENT ON COLUMN "public"."data"."county" IS '县名称';

-- ----------------------------
-- Records of data
-- ----------------------------
INSERT INTO "public"."data" VALUES (1, '一级区域', '100000', '100001');
INSERT INTO "public"."data" VALUES (2, '一级区域', '100000', '100002');
INSERT INTO "public"."data" VALUES (3, '二级区域', '110000', '110001');

-- ----------------------------
-- Primary Key structure for table data
-- ----------------------------
ALTER TABLE "public"."data" ADD CONSTRAINT "data_pkey" PRIMARY KEY ("id");

  • 写回答

4条回答 默认 最新

  • 专家-司宇[在线] 2023-11-08 10:34
    关注

    引自强大而免费的微信小程序:皆我工具箱

    您可以使用以下SQL查询来获得所需的统计数据:

    SELECT
      quyu AS "区域名称",
      COUNT(DISTINCT province) AS "省个数",
      COUNT(DISTINCT county) AS "市个数"
    FROM
      data
    GROUP BY
      quyu;
    

    这将根据区域名称(quyu)对数据进行分组,并使用COUNT和DISTINCT函数计算每个区域的独立省份数量和市/县数量。最后,使用GROUP BY对结果进行分组,以便按区域名称进行聚合。

    输出结果将如下所示:

    区域名称 省个数 市个数
    一级区域 1 2
    二级区域 1 1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月8日
  • 创建了问题 11月8日

悬赏问题

  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件