- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我认为这很容易找到解决方案,但我找不到与我正在尝试做的事情相匹配的问题。
这是我想看到的(这个查询不起作用):
SELECT DISTINCT ON (conversation_id)
*
FROM messages
ORDER BY created_at DESC
换句话说,返回包含 conversation_id 不同的最近 created_at 日期的完整行,然后按 created_at DESC 排序。
我在下面写了一个查询,它完全符合我的要求,但我认为我把它复杂化了。我还假设最近的记录将具有最高 ID 并按子查询中的 ID 排序,而不是“created_at”(它返回与 created_at DESC 相同的顺序,但对读者的友好性较低)。
SELECT
m.*
FROM (
SELECT
DISTINCT ON (conversation_id) conversation_id,
id
FROM messages
ORDER BY conversation_id, id DESC
) as t
INNER JOIN messages as m
ON t.id = m.id
ORDER BY t.id DESC
任何帮助简化此查询的版本都会很棒。
添加示例以进行说明
如果消息表如下所示:
id, conversation_id, created_at, subject
1, 2, "2014-10-21 00:01:00", "subject 1"
2, 43, "2014-10-21 00:02:00", "subject 2"
3, 12, "2014-10-21 00:03:00", "subject 3"
4, 2, "2014-10-21 00:04:00", "subject 4"
5, 43, "2014-10-21 00:05:00", "subject 5"
查询应返回以下内容:
id, conversation_id, created_at, subject
5, 43, "2014-10-21 00:05:00", "subject 5"
4, 2, "2014-10-21 00:04:00", "subject 4"
3, 12, "2014-10-21 00:03:00", "subject 3"
最佳答案
不需要连接:
select *
from (
select distinct on (conversation_id) *
from messages
order by conversation_id, id desc
) t
order by id desc
关于sql - 在 Postgresql 中查找最近的不同记录并按 created_at 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26487053/
我得到了这个代码: def user_activity @array_activity = [] @testannounces = Announce.all @te
我有一个 Laravel 应用程序,我正在尝试将用户 checkin 和 checkout 保存到我的数据库中 我有一个模型 Checkins我把它记录为 created_at 和 updated
我在一个 laravel 网站工作,我只是想知道是否有办法为用户格式化 created_at 值,因为现在它类似于以下内容: 2017-09-20 13:41 但我更愿意将其格式化为易于阅读的格式,例
我正在尝试通过以下代码添加记录: Post.objects.update_or_create( user=user, defaults={ "title": external_
我编写查询以了解用户在一周内减少了多少卡路里,但出现此错误。 如何避免错误? def self.calories_burned(current_user) week = ((created_at
我们正在将我们的项目从 v1 更新到 v2。当我们尝试通过仅提供更改的字段作为结构来更新行时,它会尝试设置 created_at 列并返回错误。这在 v1 中起作用。根据文档,在更新操作期间,具有默认
Laravel 在每个表上都有两个时间戳(created_at 和 updated_at)。我认为它会在插入新行时插入 created_at 并在更新时更新 updated_at。然而,当我更新我的模
在 created_at 列的日期范围内确定外键的唯一性 validates :test_id, :uniqueness => { :scope => Date(:created_at)} 上面的代码
我在 Rails 中运行以下命令: coe = trackers.where(:trackable_type => "Mailing").count(:group => 'DATE(created_a
这是我的customer_schema.js 文件: up () {
我正在尝试创建一个查询,我想将我的行转换为行 panel_name GROUP BY 的列,并按个人日期的最后一个 created_at 排列。我的数据以列格式出现,但未显示特定日期。我尝试了多个查询
如何查询id_konsul = 4的数据,如果相同如何从created_at获取最新的staflow ? 例子 id id_konsul staflow created_at 1 4 1
我想通过 created_at 属性选择一系列模型记录,我试过这个查询 Client.where('created_at BETWEEN ? AND ?', 30.days.from_now, Dat
假设我有以下内容: class Movie < ActiveRecord::Base has_many :reviews end 我想列出用户在评论之前没有先评论的新创建的电影。 所以这就像合并这
我想列出几条记录,我只想显示 created_at 的 y-m-d,而不是小时数。 我在查询中这样做: $letter = Letter::select('letters.id', DB::raw('
我刚刚开始在我的应用中学习和使用 Core Data。每当我获取已保存对象的列表时,我想确保我还删除了 Core Data 中超过一周的对象(显然,在我测试时会更少). 我如何完成这项工作?这些模型对
已结束。此问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
已结束。此问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有日历模型。我不会插入大量数据。 $data = [ [ 'weekday' => 1, 'status' => 'active' ] .......
我有一个婴儿日志列表,我尝试自动计算之前的时间差,减去喂食间隔。 feedingInterval = 3h 例如 如果我在下午 5 点喂我的宝宝,如果我在晚上 7:50 再次喂他。他早到了 10 分钟
我是一名优秀的程序员,十分优秀!