SQL开窗函数
开窗函数格式
函数名(列) OVER(选项)
如:
row_number() over(partition by xxx order by xxxx desc) xxx
SQL 标准允许将所有聚合函数用做开窗函数,使用 OVER 关键字来区分这两种用法。
在同一个SELECT语句中可以同时使用多个开窗函数,而且这些开窗函数并不会相互干扰。
它和聚合函数的不同之处是,对于每个组返回多行,而聚合函数对于每个组只返回一行。
SELECT
DISTINCT --注意去重
SUBSTRING(a.itemno, 1, 12) 订单号,
a.mano_main 型号,
a.ex_ysdm 颜色,
a.splength 长度,
SUM(a.qty) over (PARTITION by SUBSTRING(a.itemno, 1, 12),a.mano_main,a.ex_ysdm,a.splength) 支数,--按型号、颜色、订单号、长度汇总
a.price_type ,
a.paint_type ,
a.single_area ,
a.valuation_area ,
a.single_price ,
SUM(a.amount) over (PARTITION by SUBSTRING(a.itemno, 1, 12),a.mano_main,a.ex_ysdm,a.splength) 金额,
a.outer_perimeter,
a.venner_perimeter,
b.projectname ,
b.date1
FROM
erp_cpgl_cpck_detail_alu_ft a
inner join erp_cpgl_cpck_main b on
a.billno = b.djno
and a.billtype = b.djlb
where
a.qty>0
and a.billtype = '销售出库单'
and a.billno = 'XSCKD21081100019'
本文来自博客园,作者:红本本本,转载请注明原文链接:https://www.cnblogs.com/cxhong/p/15034520.html

浙公网安备 33010602011771号