首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PL/SQL查询效率的提高

PL/SQL查询效率的提高
EN

Stack Overflow用户
提问于 2014-10-29 11:29:01
回答 1查看 37关注 0票数 0

嗨,伙计们,我希望你们能帮我写一个SQL查询。我已经实现了我想要的表,但我必须一排排地把它建好。这是没有效率的,当我结束200行,这是放慢网站的速度。

我的桌子是这样的:

代码语言:javascript
运行
复制
FeedBack Table: 

RatingID |  RATING| TUTORIAL_ID|    TUTORIAL_NAME

5716|   4  |    993|    Test002

5717|   3  |    993|    Test002

5777|   1  |    994|    eClip3

5886|   1  |    994|    eClip3

7127|   4  |    1235|   FTIR001

7128|   4  |    1235|   FTIR001

7169|   3  |    1235|   FTIR001

7170|   2  |    1235|   FTIR001

7131|   4  |    1235|   FTIR001

7187|   3  |    1235|   FTIR001

7132|   3  |    1235|   FTIR001

我想要制作的是一个表格的所有独特的教程名称,然后总次数的具体教程被评级;

代码语言:javascript
运行
复制
1(not useful), 2(somewhat useful), 3(useful), 4(Very Useful)

因此,查询应该使:

代码语言:javascript
运行
复制
Tutorial Name | not Useful | Somewhat Useful| Useful| Very Useful

Test002| 0| 0|1|1

eClip3|2|0|0|0

FTIR001| 0| 1| 3| 3

该表显示在一个网页上,后面是C#。目前,我在表中循环查找单个教程名称的列表,然后对每个剪辑名称选择Count(*),其中评级=1,等等。并逐行构建表。

我真正想知道的是,是否有办法一次做到这一切。这将大大提高网站的效率,因为我想要显示数据的200+教程。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-29 11:36:37

代码语言:javascript
运行
复制
select tutorial_name, 
       sum(case when rating=1 then 1 else 0 end) "not Useful",
       sum(case when rating=2 then 1 else 0 end) "Somewhat Useful",
       sum(case when rating=3 then 1 else 0 end) "Useful",
       sum(case when rating=4 then 1 else 0 end) "Very Useful"
  from feedback
  group by tutorial_name;

是您需要的查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26629181

复制
相关文章

相似问题

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