注册

The select item is not the item of group by

VisionXu 2024/03/15 1522 1 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:

DM Database Server 64 V8
8.1
企业版
DB Version: 0x7000c
03134283890-20220304-158322-10045

【操作系统】:

PRETTY_NAME="UnionTech OS Server 20 Enterprise"
NAME="UnionTech OS Server 20 Enterprise"
VERSION_ID="20"
VERSION="20"
ID=UOS

【CPU】:
【问题描述】*:

sql执行报错:The select item is not the item of group by;

sql如下

select t1.id,
               t1.network_name      networkName,
               t1.network_type      networkType,
               t1.network_encrypt   networkEncrypt,
               COALESCE(t2.device_num,0)  deviceNum,
               (select count(nd.device_id)
                from t_network_device nd
                         left join t_device d on nd.device_id = d.id
                where d.status = 1) onlineDeviceNum,
               (select count(nd.device_id)
                from t_network_device nd
                         left join t_device d on nd.device_id = d.id
                where d.status = 0) offlineDeviceNum,
               t3.alarmNum
        from t_network t1
                 left join (
            select network_id,
                   count(device_id) device_num
            from t_network_device
            group by network_id
        ) t2 on t1.id = t2.network_id
                 left join (
            select tnd.network_id,
                   sum(tad.num) alarmNum
            from t_network_device tnd
                     left join (
                select td.id,
                       count(ta.id) num
                from t_alarm ta
                         left join t_device td on ta.device_sn_no = td.sn_no
                group by ta.device_sn_no) tad on tnd.device_id = tad.id
        ) t3 on t1.id = t3.network_id
        where t1.network_name like concat('%',#{networkName},'%')
        order by t1.create_time

DDL

CREATE TABLE T_NETWORK_DEVICE (
	ID VARCHAR(100) NOT NULL,
	NETWORK_ID VARCHAR(100),
	DEVICE_ID VARCHAR(100),
	CONSTRAINT CONS134220442 PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX INDEX33558948 ON QSGNMP.T_NETWORK_DEVICE (ID);



CREATE TABLE T_DEVICE (
	ID VARCHAR(64) NOT NULL,
	NAME VARCHAR(100),
	SN_NO VARCHAR(100),
	CONTROLLER_ID VARCHAR(100),
	ORG_CODE VARCHAR(100),
	IP VARCHAR(20),
	PORT INT,
	MAC VARCHAR(48),
	STATUS INT,
	BRAND VARCHAR(10),
	"TYPE" VARCHAR(50),
	MODEL VARCHAR(50),
	SOFTWARE_VERSION VARCHAR(10),
	HARDWARE_VERSION VARCHAR(20),
	FIRST_ONLINE_TIME TIMESTAMP,
	LAST_OFFLINE_TIME TIMESTAMP,
	TOTAL_ONLINE_TIME CLOB,
	OWNER VARCHAR(64),
	CITY VARCHAR(10),
	AREA VARCHAR(100),
	POINT_X NUMBER(10,6),
	POINT_Y NUMBER(10,6),
	CREATE_BY VARCHAR(64),
	CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
	UPDATE_BY VARCHAR(64),
	UPDATE_TIME TIMESTAMP,
	CONSTRAINT CONS134220427 PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX INDEX33558933 ON QSGNMP.T_DEVICE (ID);


CREATE TABLE T_ALARM (
	ID VARCHAR(64) NOT NULL,
	DEVICE_SN_NO VARCHAR(100),
	DEVICE_ALARM_ID INT,
	APPLICATIONS VARCHAR(100),
	LOG_LEVEL VARCHAR(20),
	LOG_TYPE VARCHAR(100),
	APP_MODULE VARCHAR(100),
	OPERATOR VARCHAR(64),
	ERROR_CODE VARCHAR(20),
	LOG_CONTENT TEXT,
	ALARM_TIME TIMESTAMP,
	STATUS INT,
	UPDATE_BY VARCHAR(20),
	UPDATE_TIME TIMESTAMP,
	CONSTRAINT CONS134220506 PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX INDEX33559012 ON QSGNMP.T_ALARM (ID);
回答 0
暂无回答
扫一扫
联系客服