说清每次聚合的输入行与输出粒度。
复习行数与值计数、分组求和、HAVING、筛选后总额、去重计数及外层最大值。
本节数六道给定SQLite 3.53.4任务的匹配结果,不是专业等级、百分位、雇主门槛或资格。任何正确数都能读全部解析与四份完整指南。
五条票据行支持六个不同问题
设置含两部门、五行票据和一个缺失数值,可分别问行数、非NULL值数、各部之和、哪个总额超过阈值及总额中的最大值。不能因都返回小数字就互换问题,先读选择表达式和输入筛选再算。
空输入求和不是数值零
新不计分例payments只有数值4,用WHERE v>9筛后选COUNT(*)、SUM(v),返回一行0|NULL:数到零条保留行,SUM无非NULL值可加,返NULL,并非取消聚合结果行。另加COALESCE是题中未做的不同选择。
有意区分行、值与去重部门计数
COUNT(*)数输入行,含数值NULL行;COUNT(value)忽略该缺失值;COUNT(DISTINCT dept)数两个不同部门字符串。它们单位不同,即使换数据偶然相同也不能互换。结果旁写单位;本表部门无NULL,不引入额外情形。
WHERE先筛行,HAVING再核组
筛选求和题先只留合格数值行再SUM;HAVING题则先分给定行,再核组总额是否严格过线。相似数字条件换位置会改变问题。依次核保留行、组与总额,区分大于10和大于等于10。
分清内部总额与外部最大值
嵌套查询先每部门生成一个总额并命名total,外部MAX比这些总额,不比单票值。给定数据最大单票与最大部门总额不同,宜先画中间两行再读外部SELECT。小整数避开溢出及浮点问题,不建立任意生产财务计算的精度结论。
先改组成员,再改公式
在可丢弃内存表用虚构标签和少量整数,预测COUNT(*)与COUNT(value)后添一条NULL再预测;接着只改一个组成员,比较其和与全部组和的最大值。执行前写中间结果。网站不需表格上传或私库连接,建议练习用可随时丢弃的合成输入。
把正确数作为复习线索
六个匹配答案可引导复习,但总数不能说明是否给陌生报表选对粒度、完成对账或设计高效查询。任何正确数均给全部题解与四份全文;结果按SQLite 3.53.4核过,无百分位、专业档、雇主门槛或证书,读答案重测固定题组可奖励记忆。