简体   繁体   English

如何查询最大日期? (PostgreSQL)

[英]How can I query max date? (PostgreSQL)

Using PostgreSQL, I would like to be able to only see Document IDs with the latest modification time stamp. 使用PostgreSQL,我希望只能看到带有最新修改时间戳记的文档ID。 I am having difficulty getting this working and was wondering if anyone had any pointers? 我在进行这项工作时遇到困难,并且想知道是否有人有任何指点?

Here is my current code: 这是我当前的代码:

SELECT cmsdw_document.document_id as "Document ID",
  cmsdw_activity_meta.activity_name as "Activity Name",
  cmsdw_document.title as "Title",
  cmsdw_document.creation_ts as "Creation Timestamp",
  cmsdw_document.modification_ts as "Modification Timestamp",
  cmsdw_user.firstname as "First Name",
  cmsdw_user.lastname as "Last Name",
  cmsdw_container.name as "Name",
  cmsdw_document_stats_fact.content_id as "Content ID",
  cmsdw_document_stats_fact.views as "Views",
  cmsdw_document_stats_fact.likes as "Likes",
  cmsdw_document_stats_fact.bookmarks as "Bookmarks",
  cmsdw_document_stats_fact.comments as "Comments",
  cmsdw_document_stats_fact.shares as "Shares",
  cmsdw_document_stats_fact.unique_viewers as "Unique Viewers"
FROM
  public.cmsdw_document,
  public.cmsdw_document_stats_fact,
  public.cmsdw_container,
  public.cmsdw_object,
  public.cmsdw_user,
  public.cmsdw_activity_fact,
  public.cmsdw_activity_meta
WHERE
  cmsdw_activity_fact.activity_type = cmsdw_activity_meta.activity_type AND
  cmsdw_document_stats_fact.content_id = cmsdw_object.object_id AND
  cmsdw_document.document_id = cmsdw_object.object_id AND
  cmsdw_container.container_id = cmsdw_document.container_id AND
  cmsdw_object.dw_object_id = cmsdw_activity_fact.direct_dw_object_id AND
  cmsdw_object.object_type = cmsdw_activity_fact.direct_object_type AND
  cmsdw_activity_fact.user_id = cmsdw_user.user_id AND
  cmsdw_container.name = 'Getting Started' AND
  cmsdw_object.object_type = 102 AND
  cmsdw_activity_fact.activity_type = 20;

You should fix your query to have proper join syntax -- simple rule: never use commas in the from clause. 您应该将查询修改为具有正确的join语法-简单的规则:切勿在from子句中使用逗号。

For your query, you can replace the select with with: 对于查询,您可以将select替换为:

select distinct on (cmsdw_document.document_id) . . .

The ". . ." “……” is the rest of your query. 是您查询的其余部分。 Then add: 然后加:

order by cmsdw_document.document_id, cmsdw_document.modification_ts desc

This should give you the latest document, using a Postgres extension. 这应该使用Postgres扩展名为您提供最新文档。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM