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

如何编写SQL查询实现订单数量按指定面额拆分统计?

实现逻辑

按指定单位从大到小依次计算:每级单位的数量是当前剩余值除以单位的整数部分,剩余的余数继续参与下一级更小单位的计算即可。

兼容MySQL/PostgreSQL/SQL Server的SQL语句

SELECT 
    order_id,
    qty,
    FLOOR(qty / 20) AS `20`,
    FLOOR((qty % 20) / 5) AS `5`,
    FLOOR(((qty % 20) % 5) / 3) AS `3`,
    ((qty % 20) % 5) % 3 AS `1`
FROM 你的表名;

Oracle适配版本

Oracle需用MOD函数处理取模运算:

SELECT 
    order_id,
    qty,
    FLOOR(qty / 20) AS "20",
    FLOOR(MOD(qty, 20) / 5) AS "5",
    FLOOR(MOD(MOD(qty, 20), 5) / 3) AS "3",
    MOD(MOD(MOD(qty, 20), 5), 3) AS "1"
FROM 你的表名;

代入你提供的测试数据运行,输出结果和你要求的统计效果完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:06:02