首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择第7个人(行)并得到7人作为结果

选择第7个人(行)并得到7人作为结果
EN

Stack Overflow用户
提问于 2020-03-22 21:27:50
回答 1查看 52关注 0票数 1

我想选择第7个人(Pierre (例如)) 得分表季F1,这样我就可以在我的C#应用程序中返回数字7。

代码语言:javascript
复制
SELECT CONCAT(strVoorNaam, strTussenVoegsel, ' ',  strAchterNaam) AS Naam, SUM(CAST(tblPunten.strScore AS INT)) AS score
FROM tblPunten
JOIN tblPuntenCoureur ON tblPuntenCoureur.PuntenID = tblPunten.ID
JOIN tblPersoon ON tblPersoon.ID = tblPuntenCoureur.PersoonID
JOIN tblSeizoen ON tblSeizoen.ID = tblPuntenCoureur.SeizoenID
WHERE tblPunten.ID != 12 AND tblPunten.ID != 13 AND  tblPunten.ID != 14 AND  tblPunten.ID != 15
AND  tblPunten.ID != 16 AND  tblPunten.ID != 17 AND  tblPunten.ID != 18 AND  tblPunten.ID != 19 AND tblSeizoen.intJaartal = 2019 
GROUP BY CONCAT(strVoorNaam, strTussenVoegsel, ' ',  strAchterNaam), tblPersoon.strAchterNaam
ORDER BY score DESC
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-22 21:31:10

使用行限制子句:

代码语言:javascript
复制
select 
    concat(strvoornaam, strtussenvoegsel, ' ',  strachternaam) as naam, 
    sum(cast(pu.strscore as int)) as score
from tblpunten pu
join tblpuntencoureur pc on pc.puntenid = pu.id
join tblpersoon pe on pe.id = pc.persoonid
join tblseizoen se on se.id = pc.seizoenid
where pu.id not between 12 and 19 and se.intjaartal = 2019 
group by strvoornaam, strtussenvoegsel, strachternaam, pe.strachternaam
order by score desc
offset 6 rows fetch next 1 row only

这将给出结果集中的第七行。

边注:

  • 表别名有助于保持查询简洁和易于编写。
  • 应该对在查询中起作用的所有列进行限定。

另一方面,如果你想获得某个人的等级,那就不一样了。您可以使用rank()代替:

代码语言:javascript
复制
select *
from (
    select 
        concat(strvoornaam, strtussenvoegsel, ' ',  strachternaam) as naam, 
        sum(cast(pu.strscore as int)) as score,
        rank() over(order by sum(cast(pu.strscore as int)) desc) rn
    from tblpunten pu
    join tblpuntencoureur pc on pc.puntenid = pu.id
    join tblpersoon pe on pe.id = pc.persoonid
    join tblseizoen se on se.id = pc.seizoenid
    where pu.id not between 12 and 19 and se.intjaartal = 2019 
    group by strvoornaam, strtussenvoegsel, strachternaam, pe.strachternaam
) t
where naam = 'Pierre Gasly'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60805168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档