select .. group by

sql 复制代码
<select id="selectLostTable" resultType="java.lang.Long">
    SELECT COUNT(0)
    FROM (
        SELECT trade_type,
               store_code,
               material_code,
               ANY_VALUE(store_name)        AS store_name,
               ANY_VALUE(material_name)     AS material_name,
               SUM(sub_quantity)            AS sub_quantity,
               ANY_VALUE(sub_unit)          AS sub_unit,
               SUM(main_quantity)           AS main_quantity,
               ANY_VALUE(main_unit)         AS main_unit,
               ANY_VALUE(materiel_classify) AS materiel_classify,
               ANY_VALUE(specification)     AS specification,
               ANY_VALUE(production_date)   AS production_date,
               ANY_VALUE(warranty_day)      AS warranty_day,
               ANY_VALUE(warranty_date)     AS warranty_date,
               ANY_VALUE(purchase_sale_save) AS purchase_sale_save,
               ANY_VALUE(order_date)        AS order_date
        FROM wms_store_ledger
        WHERE trade_type IN ('product_in_store', 'get_material')
          AND materiel_classify != 'P'
        GROUP BY trade_type, store_code, material_code
    ) AS tmp_count
</select>

group by 分组的sql,select的字段,必须遵守"选分组列或聚合"规则。

要获取其他行数据,如果是分组后,该列数据肯定一致,或无所谓取哪个,可以用 ANY_VALUE() 告诉数据库"随便拿一个"。

相关推荐
wuminyu2 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
笨小孩@GF 知行合一2 小时前
易语言-高级应用
数据库·编程·易语言·中文编程
KaiwuDB3 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
夜雪一千5 小时前
MySQL外键彻底入门:是什么、怎么用、什么时候不该用
数据库·mysql
蜗牛互联网5 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端
qq_334466865 小时前
删除SSMS的历史登录记录
数据库·sql
zl_dfq5 小时前
Redis 之 【常见面试题总结】(从数据类型到高可用、缓存一致性全解析)
数据库·redis
龙亘川5 小时前
铭记英烈守初心,数字强基促服务:亘川智城退役军人服务系统的实践与价值
java·数据库·人工智能
OxYGC5 小时前
[AI工程] Spring AI 第廿一篇:存量 REST 接口的 MCP 化改造实录——工具从哪条路径注册、参数描述怎么写、身份怎么过去
java·人工智能·spring