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

相关推荐
勿忘,瞬间4 分钟前
多线程之进阶修炼
java·开发语言
XDHCOM14 分钟前
PostgreSQL 25001: active_sql_transaction 报错原因分析,故障修复步骤详解,远程处理解决方案
数据库·sql·postgresql
014-code16 分钟前
线程池参数怎么配才不翻车
java
吴梓穆17 分钟前
UE5 c++ 常用方法
java·c++·ue5
王夏奇39 分钟前
python中的__all__ 具体用法
java·前端·python
卤炖阑尾炎39 分钟前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql
明湖起风了1 小时前
mqtt消费堆积
java·jvm·windows
Free Tester1 小时前
如何判断 LeakCanary 报告的严重程度
java·jvm·算法
清心歌1 小时前
CopyOnWriteArrayList 实现原理
java·开发语言
daad7772 小时前
wifi_note
运维·服务器·数据库