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() 告诉数据库"随便拿一个"。

相关推荐
魏 无羡2 小时前
webclient
java·webclient
SkyWalking中文站2 小时前
BanyanDB 0.11.0:新特性与升级指南
数据库
神仙别闹3 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
swordbob4 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
₍˄·͈༝·͈˄*₎◞ ̑̑码4 小时前
MyBatis操作数据库
数据库·mybatis
m0_587383005 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析
白山编程大哥5 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
刃神太酷啦6 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
一技安身6 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
丁丁点灯o6 小时前
Oracle中使用外键的场景及不适用外键的情况
数据库·oracle