为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:windows11
【CPU】:amd
【问题描述】*:mysql语句转换成达梦sql报错
SELECT DATE_FORMAT(REQUESTTIME, 'YYYY-MM-DD HH24:MI:SS') AS time,
COUNT(RESULTCODE != '200' OR NULL) AS failRequests
FROM (SELECT REQUESTTIME, RESULTCODE, MSG_WORK_TYPE, REQ_MSG_ID, MSGTYPE FROM ws_send_log) AS t1 GROUP BY time
mysql 执行
CREATE TABLE ws_send_log (
REQUESTTIME DATETIME,
RESULTCODE VARCHAR(10),
MSG_WORK_TYPE VARCHAR(50),
REQ_MSG_ID VARCHAR(50),
MSGTYPE VARCHAR(50)
);
SELECT DATE_FORMAT(REQUESTTIME, 'YYYY-MM-DD HH24:MI:SS') AS time,
COUNT(RESULTCODE != '200' OR NULL) AS failRequests
FROM (SELECT REQUESTTIME, RESULTCODE, MSG_WORK_TYPE, REQ_MSG_ID, MSGTYPE FROM ws_send_log) AS t1 GROUP BY time
达梦数据库执行
SELECT DATE_FORMAT(REQUESTTIME, 'YYYY-MM-DD HH24:MI:SS') as time
,COUNT(CASE WHEN RESULTCODE != '200' THEN 1 END) AS failRequests
FROM (SELECT REaQUESTTIME, RESULTCODE, MSG_WORK_TYPE, REQ_MSG_ID, MSGTYPE FROM ws_send_log) AS t1 GROUP BY REQUESTTIME
SELECT DATE_FORMAT(REQUESTTIME, 'YYYY-MM-DD HH24:MI:SS') AS time,
COUNT(RESULTCODE) AS failRequests
FROM (SELECT REQUESTTIME, RESULTCODE, MSG_WORK_TYPE, REQ_MSG_ID, MSGTYPE FROM ws_send_log
where RESULTCODE != '200') AS t1
GROUP BY time
;
或者
SELECT DATE_FORMAT(REQUESTTIME, 'YYYY-MM-DD HH24:MI:SS') AS time,
COUNT(CASE WHEN RESULTCODE != '200' THEN 1 END) AS failRequests
FROM (SELECT REQUESTTIME, RESULTCODE, MSG_WORK_TYPE, REQ_MSG_ID, MSGTYPE FROM ws_send_log
where RESULTCODE != '200') AS t1
GROUP BY time
;
未验证,看下能否满足需求