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