如果我有一个工作表,例如:
|id|created_at |status |
----------------------------
|1 |01-01-2015 |error |
|2 |01-01-2015 |complete |
|3 |01-01-2015 |error |
|4 |01-02-2015 |complete |
|5 |01-02-2015 |complete |
|6 |01-03-2015 |error |
|7 |01-03-2015 |on hold |
|8 |01-03-2015 |complete |
我想要一个查询,该查询将按日期对它们进行分组,并计算该日期的每个状态和总状态的发生率。
SELECT created_at status, count(status), created_at
FROM jobs
GROUP BY created_at, status;
这给了我
|created_at |status |count|
-------------------------------
|01-01-2015 |error |2
|01-01-2015 |complete |1
|01-02-2015 |complete |2
|01-03-2015 |error |1
|01-03-2015 |on hold |1
|01-03-2015 |complete |1
我现在想将其压缩为每个created_at
唯一日期的一行,并为每个日期安排某种多列布局status
。一个约束是status
5个可能的单词中的任何一个,但每个日期可能没有每个状态之一。另外,我希望每天总计所有状态。因此,所需的结果将如下所示:
|date |total |errors|completed|on_hold|
----------------------------------------------
|01-01-2015 |3 |2 |1 |null
|01-02-2015 |2 |null |2 |null
|01-03-2015 |3 |1 |1 |1
列可以通过类似的方式动态构建
SELECT DISTINCT status FROM jobs;
对于不包含任何此类状态的日期,结果为空。我不是SQL专家,但尝试在数据库视图中执行此操作,因此不必在Rails中进行多个查询。
我正在使用Postresql,但想尝试保持SQL的直接性。我试图理解聚合函数,足以使用其他一些工具,但没有成功。
以下内容应在任何RDBMS中起作用:
SELECT created_at, count(status) AS total,
sum(case when status = 'error' then 1 end) as errors,
sum(case when status = 'complete' then 1 end) as completed,
sum(case when status = 'on hold' then 1 end) as on_hold
FROM jobs
GROUP BY created_at;
该查询使用 条件聚合 ,以便 透视
分组的数据。假定status
值是事先已知的。如果您还有其他status
值的情况,则只需添加相应的sum(case ...
表达式即可。
演示在这里
问题内容: 背景 我需要从Oracle提取几千行并将其转换为JSON,以便在SlickGrid中使用。目前,我正在获取PHP中的行,使用iconv将其从ISO转换为UTF-8,并使用json_encode导出到json。整个操作在数据库端大约需要1秒,而生成JSON则需要5秒。这是很长的路要走。 问题 我已经读到Oracle 12c支持JSON,但是我找不到我真正需要的东西。 有没有办法以json
问题内容: 我有以下收藏 我要收集所有其 在主阵列 我已经试过了 但这给了我这样的输出 我想要这样的输出 问题答案: 你可以。与mongoose一起使用,因为它返回一个数组,与使用相比,简单使用更好 或使用核心驱动程序中的基础: 如果您不希望获得“与众不同”的结果,则与之大致相同: 或与 您还可以使用,基本上可以改变聚合过程和“幕后”(“仅返回字段部分”,而不是独特的聚合方法): MongoDB本
问题内容: 以下查询应返回从动漫中扮演角色的人物的姓名。但我收到以下错误: Blockquote ORA-01427:单行子查询返回多个行 提前致谢! 问题答案: 代替 使用 查询中有5个条件需要更改。 UPD 另外,您的查询等同于
我有下面的SQL查询,我在flink工作中使用。< code>mysql_table是使用JDBC连接器创建的,而< code>kafa_source表是从传入的kafka流创建的。 我在两者之间执行时态连接,当我在Flink的sql-client CLI中检查时,运行良好(用< code>flink-faker测试)。内部查询工作得非常好,并且正在打印结果。有人能帮助我找出这个问题吗? 编辑:我
我有以下表格结构: 1-课程(course_id、course_nam、语言、course_price、create_date、average_rating、course_description、certifica_price、course_creator_id) 2-学生(学生证、钱包) 3-折扣(折扣id、折扣课程id、允许的许可课程id、开始日期、结束日期、百分比) 4-报名(student
本文向大家介绍Python Sqlite3以字典形式返回查询结果的实现方法,包括了Python Sqlite3以字典形式返回查询结果的实现方法的使用技巧和注意事项,需要的朋友参考一下 sqlite3本身并没有像pymysql一样原生提供字典形式的游标。 但官方文档里已经有预留了相应的实现方案。 使用这个函数代替conn.raw_factory属性即可。 官方文档链接 以上就是小编为大家带来的Pyt