天天看点

对于employees表中,给出奇数行的first_name问题描述Sql语句

sql实战 对于employees表中,给出奇数行的first_name

  • 问题描述
  • Sql语句

问题描述

对于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

));

来源:牛客网

链接:https://www.nowcoder.com/practice/e3cf1171f6cc426bac85fd4ffa786594?tpId=82&&tqId=29829&rp=1&ru=/ta/sql&qru=/ta/sql/question-ranking

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