国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

使用SQL實(shí)現(xiàn)小計,合計以及排序

2020-01-18 23:41:55
字體:
供稿:網(wǎng)友

--說明:個人學(xué)習(xí)筆記,實(shí)現(xiàn)小計合計顯示,分組按BANK_ID+OP_DATE升序排序

復(fù)制代碼 代碼如下:

--測試數(shù)據(jù)
CREATE TABLE #TB(ID VARCHAR(10),BANK_ID VARCHAR(10),OP_DATE VARCHAR(10),OPERATOR_NO VARCHAR(20),AMT DECIMAL(10,2))
INSERT #TB SELECT '1111','001','20121210',1234567,111.00
UNION ALL SELECT '2222','002','20121210',1234567,222.00
UNION ALL SELECT '3333','001','20121112',1234567,250.00
UNION ALL SELECT '4444','002','20121110',1234567,330.00
UNION ALL SELECT '5555','001','20121210',1234567,300.00
UNION ALL SELECT '6666','002','20121112',1234567,150.00
GO

--查詢
SELECT A.ID
 ,A.BANK_ID
 ,A.AMT
 ,B.OP_DATE
 ,B.OPERATOR_NO
FROM
(
(SELECT
 ID=CASE
  WHEN GROUPING(BANK_ID)=1 THEN '合計'
  WHEN GROUPING(ID)=1 THEN '小計'
  ELSE ID END
 ,BANK_ID
    ,SUM(AMT) AMT
    ,ORDER_SIGN1=GROUPING(BANK_ID),ORDER_SIGN2=BANK_ID
    ,ORDER_SIGN3=GROUPING(ID)
FROM #TB
GROUP BY BANK_ID,ID WITH ROLLUP
HAVING GROUPING(ID)=1
UNION ALL --先得出表的統(tǒng)計,再加上表中的數(shù)據(jù)
SELECT ID
 ,BANK_ID
 ,AMT
 ,ORDER_SIGN1=0,ORDER_SIGN2=BANK_ID
    ,ORDER_SIGN3=0
 FROM #TB) A
LEFT JOIN --為了顯示出OP_DATE、OPERATOR_NO
(SELECT ID
 ,OP_DATE
 ,OPERATOR_NO
FROM #TB) B ON A.ID = B.ID
) ORDER BY ORDER_SIGN1,ORDER_SIGN2,ORDER_SIGN3,OP_DATE

GO

--刪除測試
DROP TABLE #TB

/*--測試結(jié)果
ID BANK_ID AMT OP_DATE OPERATOR_NO
3333 001 250.00 20121112 1234567
5555 001 300.00 20121210 1234567
1111 001 111.00 20121210 1234567
小計 001 661.00 NULL NULL
4444 002 330.00 20121110 1234567
6666 002 150.00 20121112 1234567
2222 002 222.00 20121210 1234567
小計 002 702.00 NULL NULL
合計 NULL 1363.00 NULL NULL
--*/

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 霸州市| 喀什市| 眉山市| 宜良县| 集安市| 独山县| 田阳县| 赤峰市| 泸定县| 安阳市| 和林格尔县| 奉贤区| 罗山县| 西畴县| 屏南县| 遂平县| 古丈县| 饶平县| 武汉市| 克拉玛依市| 奉新县| 呼和浩特市| 昌图县| 邢台市| 渭南市| 大洼县| 南阳市| 河北区| 茶陵县| 精河县| 龙井市| 南靖县| 四川省| 绿春县| 南雄市| 岳阳市| 文水县| 桂林市| 萨迦县| 黑山县| 治多县|