题解 | #排名为奇数行的first_name#

给出employees表中排名为奇数行的first_name

https://www.nowcoder.com/practice/e3cf1171f6cc426bac85fd4ffa786594

SELECT
first_name  first
FROM
employees
WHERE first_name in (
SELECT 
 subquery.first_name first
FROM (  
  SELECT  
    first_name,  
    ROW_NUMBER() OVER (ORDER BY first_name) AS pai  
  FROM  
    employees   
) AS subquery  
WHERE  
  mod(subquery.pai, 2) = 1
  )

由于要取出奇数行,所以需要一列字段记录排名,遂使用开窗函数

因为要按原表顺序输出,所以使用where 子句实现

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务