- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定以下实体类和带有相关表的 postgres 数据库:
case class Statistics(name: String,
measure: Long,
datetime: Timestamp = new Timestamp(System.currentTimeMillis))
我如何构造一个 Squeryl 聚合查询来返回每天或每周的度量计数或它们的累积值,基本上导致类似于以下的 SQL 语句:
select count(*), date_trunc('day',datetime) from stats
group by date_trunc('day',datetime);
select sum(*), date_trunc('day',datetime) from stats
group by date_trunc('day',datetime);
使用 postgres 的 date_trunc不能直接从 Squeryl 访问的函数。
最佳答案
可以使用自定义函数映射生成所需的查询:
class DateTrunc(span: String,
e: DateExpression[Timestamp],
m: OutMapper[Timestamp])
extends FunctionNode[Timestamp]("date_trunc",
Some(m),
Seq(new TokenExpressionNode("'"+span+"'"), e))
with DateExpression[Timestamp]
def dateTrunc(span: String,
e: DateExpression[Timestamp])
(implicit m: OutMapper[Timestamp]) = new DateTrunc(span,e,m)
这可以在实际查询中使用,例如:
def historyQuery(name: String,
span: String = "day",
pageSize: Int = 10) = from(table) (
stats =>
where(stats.name === name)
groupBy(dateTrunc(span,stats.datetime))
compute(count)
orderBy(dateTrunc(span,stats.datetime) desc)
) page(0,pageSize)
关于postgresql - Squeryl:如何在日期列上使用 postgres 的 date_trunc() 函数创建聚合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17804104/
我试图在 SQL 语句中使用 Date_Trunc for MONTH 函数,但不知何故它对我不起作用。我正在尝试提取 2019 年 4 月 1 日之后发生的条目。Redshift 数据库中的原始日期
我试图在 SQL 语句中使用 Date_Trunc for MONTH 函数,但不知何故它对我不起作用。我正在尝试提取 2019 年 4 月 1 日之后发生的条目。Redshift 数据库中的原始日期
postgresql 有 date_trunc 可以将时间戳值截断为特定单位,例如小时 或分钟。我想知道是否有任何内置函数可以让我截断到 10 分钟? 我知道一个技巧是将时间戳转换为纪元,做一些数学运
尝试从 Legacy 表中获取每月汇总数据。意思是日期列是字符串: amount date_create 100 2018-01-05 200 2018-02-03 300
我将如何按月获得 date_trunc? 会是这样吗? SELECT date_trunc('month', l_date) month FROM this_table GROUP B
我想在 date_trunc 中添加我的 i 变量。我的 i 变量的值为 10。这是我的一段代码: date_trunc('month', now()) - interval 'i month' 错
我正在尝试在我的 DATE_TRUNC 函数中自定义时间范围,而不是典型的 DATE_TRUNC('小时', user.created_at) 理想情况下,我想要一些类似的东西 DATE_TRUNC(
几年前我听说在 sql 中截断日期不是一个好习惯。是真的吗? 我需要从“yyyy-MM-dd”格式的表中获取日期类型列的值,日期当前以“yyyy-MM-dd hh:mm:ss”格式存储在表中 最佳答案
简短而简单,我想获得一个唯一时间列表及其计数代表。 SELECT DISTINCT(date_trunc('hour', occurred)) as time, COUNT(*) FROM log
我正在使用内置的 PostgreSQL 函数 date_trunc() 来聚合时间窗口,如下所示: SELECT max(time) as time, COUNT(*) as ticks FROM s
我需要使用 date_trunc 函数每两周进行一次分组。 但是,该函数只有日、周 和月 选项。有谁知道怎么做吗? 在我一周的代码之上: (date_trunc('week', CAST((CAST(
在将截断字段与 date_trunc() 进行比较后从数据库中检索记录时,我遇到了一个奇怪的问题. 此查询不返回任何数据: select id from my_db_log where date_t
我正在尝试将某个月的几个日期截断到一周的开始,但从上个月开始的日期除外。 示例: 2012 年 12 月 5 日星期三应截断为 2012 年 12 月 3 日星期一 2012 年 12 月 1 日星期
下面的查询 SELECT the_date FROM date_trunc('day', timestamp with time zone '2001-01-1 00:00:00+010
所以我在 Redshift 数据库上遇到了以下奇怪的行为。 以下查询按预期运行,将当前时间戳截断为月份: select date_trunc('month', now()) -- returns 20
星期五下午,我被炸了。所以 SQL 爱好者如何在 PostgreSQL 中采用以下 WHERE 子句并将其转换为 SQLite3 而不使用编译扩展: WHERE DATE_TRUNC('day',
我正在尝试使用商店的时区查询商店的订单和 date_trunc 它的 inserted_at。 以下有效。 shop |> Ecto.assoc(:orders) |> select([o], fra
可在此处找到 date_truc 的有效参数列表: https://www.postgresql.org/docs/10/functions-datetime.html#FUNCTIONS-DATET
我正在开展一个项目,其中财政年度按三个月衡量,尽管听起来很奇怪,但由于国家/地区的规定,每个三个月都是从每月的第 10 天而不是第 1 天开始计算的。因此,第一个三个月被认为是从 1 月 10 日开始
我正在尝试检索数据以进行统计,我正在使用 mySQL,但我无法使以下功能正常工作 - postgreSQL 正在工作。 我想检索上个月的请求并计算每天的新请求数量。 postgreSQL SELECT
我是一名优秀的程序员,十分优秀!