Day46 - 2018-05-22

WITH 语句经常称为公用表表达式(简称 CTE)使用这个方法来简化子查询,将公用子查询的部分使用WITH包裹命名别名,它会建立一个临时表,方便后面复用

SELECT channel, AVG(events) AS average_events
FROM (SELECT DATE_TRUNC('day',occurred_at) AS day,
channel, COUNT(*) as events
FROM web_events
GROUP BY 1,2) sub
GROUP BY channel
ORDER BY 2 DESC;

可改写为

WITH events AS (
SELECT DATE_TRUNC('day',occurred_at) AS day,
channel, COUNT(*) as events
FROM web_events
GROUP BY 1,2)

SELECT channel, AVG(events) AS average_events
FROM events
GROUP BY channel
ORDER BY 2 DESC;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,643评论 0 4
  • 1. SQL 简介 SQL 的目标 理想情况下,数据库语言应允许用户: 建立数据库和关系结构 完成基本数据管理任务...
    板蓝根plank阅读 2,380评论 0 11
  • 开场白: 一直以来,我们以“听话”的方式被教育,却又以“说话”的方式被考核,我们所学的东西无不以“表达”为指向,他...
    心念有约阅读 945评论 5 1
  • 此刻,躺在床上,关闭刺眼的灯光,伴随着淡淡洗面乳的香气和薄荷味牙膏刷牙后清凉的口感,在小小的手机屏幕上,我点击着字...
    露晓蜜阅读 244评论 0 1
  • 喜欢你就像喜欢一首歌 喜欢你甜甜的微笑 喜欢你淡淡的忧伤 就好比三月的江南 一如你美丽的容颜 让我一见就留恋 回首...
    倾城之恋花开半夏阅读 652评论 0 3