题目描述
对于employees表中,给出奇数行的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
));
分析:
思路:先排出号码 然后再去奇数
1.利用count函数进行计数。
SELECT COUNT() FROM employees E2 WHERE E1.first_name>=E2.first_name
2.然后取奇数
SELECT E1.first_name FROM employees E1
WHERE (SELECT COUNT() FROM employees E2 WHERE E1.first_name>=E2.first_name)%2=1;
SELECT
e1.first_name
FROM
employees e1
WHERE
(
SELECT
count(*)
FROM
employees e2
WHERE
e1.first_name <=e2.first_name
) % 2 = 1;