下面這個sql陳述句在oralce 能運行,到mysql就不行,主要是在分組后進行count,然后sum count的數量,這里在mysql不成立,求大佬給出mysql寫法
SELECT UN.DIGCONTENT,UN.DIGRESULT,
COUNT(DISTINCT UN.DIGVINNO)CARCOUNT,
COUNT(*)DXCOUNT,
100*ROUND(COUNT(*)/SUM(COUNT(*)) OVER(),4)||'%' PROPORTION
FROM(
SELECT T.DIGVINNO, R.DIGCONTENT,R.DIGRESULT ,T.OPERATETIME FROM ODX_DIGRESULTLOG R
LEFT JOIN ODX_DIGOPERLOG T ON T.DIGTOKEN=R.DIGTOKEN
WHERE R.DIGTYPE=3 AND R.FLAG=1 AND R.DIGRESULT IS NOT NULL AND R.DIGCONTENT IS NOT NULL
UNION ALL
SELECT OV.DIGVINNO,OP.DIGCONTENT,OP.DIGRESULT ,OV.CREATEDON OPERATETIME FROM ODX_OFFCMD_PARSESULT OP
RIGHT JOIN ODX_OFFCMD_VISIBLERESULT OV ON OP.RESULTID=OV.ID
WHERE OV.FLAG=1 AND OV.DIGTYPE=3 AND OP.STATE=1
)UN WHERE (1=1)
GROUP BY DIGCONTENT,DIGRESULT
order by dxcount desc
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/226705.html
標籤:MySQL
