首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择体育赛事较少的5个体育项目。

选择体育赛事较少的5个体育项目。
EN

Stack Overflow用户
提问于 2018-12-16 17:55:56
回答 2查看 46关注 0票数 1

我有一张运动桌:

代码语言:javascript
运行
复制
CREATE TABLE Sports(
    name_sport VARCHAR(50) PRIMARY KEY,
    categories_sport VARCHAR(50),
    type_result_sport VARCHAR(50),
    discipline TEXT,
    enEquipe BOOLEAN 
);

我填写的数据如下:

代码语言:javascript
运行
复制
('Women''s 50m Freestyle','freestyle','aquatics','temps','FALSE'),

('Trap Women','shooting','shooting','temps','FALSE'),
('10m Air Pistol Men','shooting','shooting','score','FALSE'),
('10m Air Rifle Men','shooting','shooting','score','FALSE'),

('Women''s Discus Throw','throws','athletics','score','FALSE'),
('Women''s Hammer Throw','throws','athletics','score','FALSE'),
('Women''s Javelin Throw','throws','athletics','score','FALSE'),
('Men''s 100m','track','athletics','temps','FALSE'),

('Women''s Doubles','badminton','badminton','temps','TRUE'),
('Women''s Singles','badminton','badminton','temps','FALSE'),
('Men''s Doubles','badminton','badminton','temps','TRUE'),
('Men''s Singles','badminton','badminton','temps','FALSE'),

('Lightweight Women''s Double Sculls','rowing','rowing','temps','FALSE'),
('Women''s Double Sculls','rowing','rowing','temps','FALSE'),
('Women''s Eight','rowing','rowing','temps','FALSE'),
('Women''s Pair','rowing','rowing','temps','FALSE'),
('Women''s Quadruple Sculls','rowing','rowing','temps','FALSE'),
('Women''s Single Sculls','rowing','rowing','temps','FALSE'),
('Lightweight Men''s Double Sculls','rowing','rowing','temps','FALSE'),
('Lightweight Men''s Four','rowing','rowing','temps','FALSE'), 

('Women''s +75kg','weightlifting','weightlifting','score','FALSE'),
('Women''s 48kg','weightlifting','weightlifting','score','FALSE'),
('Women''s 53kg','weightlifting','weightlifting','score','FALSE'),
('Women''s 58kg','weightlifting','weightlifting','score','FALSE'),
('Women''s 63kg','weightlifting','weightlifting','score','FALSE'),
('Women''s 69kg','weightlifting','weightlifting','score','FALSE'),
('Women''s 75kg','weightlifting','weightlifting','score','FALSE'),
('Men''s +105kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 105kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 56kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 62kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 69kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 77kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 85kg','weightlifting','weightlifting','score','FALSE'),
('Men''s 94kg','weightlifting','weightlifting','score','FALSE'),

我试着选择五大类(水、田径、射箭.)(男子100米,女子50米自由泳.)

在这种情况下,输出将是:

代码语言:javascript
运行
复制
Aquatics
Athletics
Shooting
badminton
rowing

谢谢

编辑1:添加了更多的样本数据和输出。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-16 18:00:37

请尝尝这个。按语句分组类别,按顺序排序结果按每个类别发生的次数,并将返回结果的数量限制为5。

代码语言:javascript
运行
复制
 select categories_sport, count(*) as cnt
   from Sports
  group by (categories_sport)
  order by cnt asc
  limit 5
票数 2
EN

Stack Overflow用户

发布于 2018-12-16 18:03:02

您需要一个具有GROUP BY categories_sport的聚合查询,按升序计数排序,并在5个结果上使用一个LIMIT子句。

这将适用于mysql和postgres (标记为两者):

代码语言:javascript
运行
复制
SELECT categories_sport, count(*)
FROM sports
GROUP BY categories_sport
ORDER BY COUNT(*) 
LIMIT 5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53804961

复制
相关文章

相似问题

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