场景:查询各部门薪水最高的员工。
- MySQL group by是如何决定哪一条数据留下的?
- 那么target list和group by column不匹配就一定不能执行吗?
MySQL版本:8.0.27
场景:查询各部门薪水最高的员工。
CREATE TABLE `employee` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`dept` int NOT NULL COMMENT '部门',
`user` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '员工',
`salary` int NULL DEFAULT NULL COMMENT '薪水',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
`remark` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
`modify_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '员