简体   繁体   English

我怎样才能在MySQL中获得第二个最大ID?

[英]how can i get second max id in mysql?

how can i get second max id in mysql? 我怎样才能在MySQL中获得第二个最大ID?

see my codes and picture bellow: 看下面的代码和图片:

在此处输入图片说明

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `a`
-- ----------------------------
DROP TABLE IF EXISTS `a`;
CREATE TABLE `a` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(30) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of a
-- ----------------------------
INSERT INTO `a` VALUES ('1', 'jimy');
INSERT INTO `a` VALUES ('7', 'khon');
INSERT INTO `a` VALUES ('3', 'tina');
INSERT INTO `a` VALUES ('4', 'kelvin');
INSERT INTO `a` VALUES ('5', 'ricky');

Use the limit clause: 使用limit子句:

select *
from a
order by id desc
limit 1, 1

I like Gordon Linoff's answer, while providing my ugly clause: 我喜欢Gordon Linoff的回答,同时提供了我的丑陋条款:

select min(id) as id from 
       (select * from a order by id desc limit 2) as temp_table;

尝试这个:

select max(id) from a where id != (select max(id) from a)

Simplest way to fetch second max salary & nth salary 获取第二个最高薪水和第n个薪水的最简单方法

select 
 DISTINCT(salary) 
from employee 
 order by salary desc 
limit 1,1

Note: 注意:

limit 0,1  - Top max salary

limit 1,1  - Second max salary

limit 2,1  - Third max salary

limit 3,1  - Fourth max salary

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM