leetcode619. 只出现一次的最大数字(SQL)简单

问题描述:

表 my_numbers 的 num 字段包含很多数字,其中包括很多重复的数字。

你能写一个 SQL 查询语句,找到只出现过一次的数字中,最大的一个数字吗?


对于上面给出的样例数据,你的查询语句应该返回如下结果:

+---+
|num|
+---+
| 9 |
DDL语句:

/*
 Navicat Premium Data Transfer

 Source Server         : 我的项目
 Source Server Type    : MySQL
 Source Server Version : 80025
 Source Host           : localhost:3306
 Source Schema         : day01

 Target Server Type    : MySQL
 Target Server Version : 80025
 File Encoding         : 65001

 Date: 23/09/2021 23:00:26
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for my_numbers
-- ----------------------------
DROP TABLE IF EXISTS `my_numbers`;
CREATE TABLE `my_numbers`  (
  `id` int(0) NOT NULL AUTO_INCREMENT,
  `num` int(0) DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of my_numbers
-- ----------------------------
INSERT INTO `my_numbers` VALUES (1, 8);
INSERT INTO `my_numbers` VALUES (2, 8);
INSERT INTO `my_numbers` VALUES (3, 3);
INSERT INTO `my_numbers` VALUES (4, 3);
INSERT INTO `my_numbers` VALUES (5, 1);
INSERT INTO `my_numbers` VALUES (6, 4);
INSERT INTO `my_numbers` VALUES (7, 5);
INSERT INTO `my_numbers` VALUES (8, 6);
INSERT INTO `my_numbers` VALUES (9, 7);
INSERT INTO `my_numbers` VALUES (10, 7);
INSERT INTO `my_numbers` VALUES (11, 9);

SET FOREIGN_KEY_CHECKS = 1;

sql拿去就可以运行:

SELECT
	m.num 
FROM
	my_numbers m 
GROUP BY
	m.num 
HAVING
	COUNT( * ) = 1 
ORDER BY
	m.num DESC 
	LIMIT 1

运行结果:

我要刷100道算法题,第62道 

猜你喜欢

转载自blog.csdn.net/guoqi_666/article/details/120445218
今日推荐