You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

笔记本数据库需求:将尺寸向上取整至0/5后分组统计并排序

笔记本尺寸分组统计实现方案

数据库结构

  • notebooks_brand表:存储笔记本品牌名称数据。
  • notebooks_notebook表:存储笔记本名称、屏幕对角线、宽度、深度、高度数据,包含关联品牌的外键字段brand_id。

需求描述

按屏幕对角线尺寸对笔记本进行分组统计,步骤如下:

  1. 将屏幕对角线尺寸向上取整至最近的以0或5结尾的数值(即5的倍数);
  2. 按取整后的尺寸分组,统计每组的笔记本数量;
  3. 最终结果按尺寸升序排序。

已实现的品牌统计查询

查询代码

cursor.execute("""SELECT brnd.title,
                    COUNT(brnd.id)
                    FROM notebooks_notebook AS ntbk
                    JOIN notebooks_brand AS brnd
                    ON ntbk.brand_id = brnd.id
                    GROUP BY brnd.title """)

查询结果

  • ('HP', 225)
  • ('Prestigio', 1)
  • ('Huawei', 6)
  • ('ASUS', 223)
  • ('Haier', 2)
  • ('Xiaomi', 13)
  • ('MSI', 34)
  • ('HONOR', 15)
  • ('Gigabyte', 5)
  • ('Digma', 4)
  • ('Lenovo', 253)
  • ('Dell', 75)
  • ('Acer', 82)
  • ('Chuwi', 4)
  • ('Apple', 55)

尺寸分组统计查询实现

查询代码

cursor.execute("""SELECT 
                    CEIL(ntbk.screen_diagonal / 5) * 5 AS rounded_size,
                    COUNT(ntbk.id) AS notebook_count
                  FROM notebooks_notebook AS ntbk
                  GROUP BY rounded_size
                  ORDER BY rounded_size ASC""")

逻辑说明

  • CEIL(ntbk.screen_diagonal / 5) * 5:通过先除以5、向上取整、再乘以5的方式,实现将屏幕对角线数值向上取整至最近的5的倍数(即结尾为0或5的数值);
  • GROUP BY rounded_size:按取整后的尺寸分组;
  • COUNT(ntbk.id):统计每组的笔记本数量;
  • ORDER BY rounded_size ASC:按尺寸升序排序结果。

内容的提问来源于stack exchange,提问作者Maks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:35:23