mysql实现开窗函数、Mysql实现分析函数

关键字:mysql实现开窗函数、Mysql实现分析函数

--实现排名效果

CREATE TABLE `tem` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `str` char(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;


INSERT INTO `test`.`tem`(`id`, `str`) VALUES (1, 'A');
INSERT INTO `test`.`tem`(`id`, `str`) VALUES (2, 'B');
INSERT INTO `test`.`tem`(`id`, `str`) VALUES (3, 'A');
INSERT INTO `test`.`tem`(`id`, `str`) VALUES (4, 'C');
INSERT INTO `test`.`tem`(`id`, `str`) VALUES (5, 'A');
INSERT INTO `test`.`tem`(`id`, `str`) VALUES (6, 'C');
INSERT INTO `test`.`tem`(`id`, `str`) VALUES (7, 'B');


--这里我不禁疑惑,mysql中orader by 比 select 走在后面嘛?
SELECT @num := IF(@str = str, @num + 1, 1) num, id, @str := str str FROM tem, (SELECT @str := '', @num := 0) t1 ORDER BY str, id;

---------------------
作者:mingqing6364
来源:CSDN
原文:https://blog.csdn.net/mingqing6364/article/details/82621840
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/gered/p/10430829.html