我正在处理一些Oracle PL / SQL视频,并且我到达了一个讨论查询对我来说没有意义的部分。特别是,ORDER BY
子句的结果如何影响生成的查询。
看看这个表结构:
类别和显示表之间的关系为0到1或很多(因此对于任何类别,Show表中可能有0个或更多记录)。
如果ORDER BY
不是SELECT语句中列出的列/字段,GROUP BY
子句如何修改COUNT (DISTINCT s.show_id)
子句所实现的内容
SELECT c.name, COUNT(DISTINCT s.category_ID) "First Categories"
FROM category c, show s
WHERE c.category_id = s.category_id
GROUP BY c.name
ORDER BY COUNT (DISTINCT s.show_id);
(这是对投票的回应:我想解决这个问题,因为我在广泛发布之前以及在外面发帖时已经在主板上搜索了答案。我觉得这个例子涵盖了很多GROUP BY,SELECT和ORDER BY子句之间的基本和重要概念,可能对正在学习的其他人有帮助,因为它是一个足够独特的例子,但基本足以掌握并应用在路上。)
慷慨地谢谢你!
答案 0 :(得分:0)
COUNT (DISTINCT s.show_id)
的计算仍然适用于c.name
的每一组,并且生成的行根据它进行排序 - 它不会显示在最终结果集中。