问题描述
对于employees表中,输出first_name排名(按first_name升序排序)为奇数的first_name
CREATE TABLE employees
(
emp_no
int(11) NOT NULL,
birth_date
date NOT NULL,
first_name
varchar(14) NOT NULL,
last_name
varchar(16) NOT NULL,
gender
char(1) NOT NULL,
hire_date
date NOT NULL,
PRIMARY KEY (emp_no
));
Sql语句
1、找每个名字的排名并显示字段,使用嵌套查询
2、按排名字段找出奇数的信息
SELECT e1.first_name
FROM (SELECT e2.first_name, (SELECT COUNT(*) FROM employees AS e3
WHERE e3.first_name <= e2.first_name) AS rowid
FROM employees AS e2) AS e1
WHERE e1.rowid % 2 = 1