postgresql - 在 SQL 中创建查询时需要一些帮助吗?

标签 postgresql

ID|message| UpdateTime| TicketID| StaffID

10008;"Yes, it is!";"2012-04-15 16:15:00";1008;660
10013;"Thanks for swift reply!";"2012-04-15 17:15:00";1008;660

当我写这两个查询时,你能告诉我吗:

Select MAX(UpdateTime) from TicketUpdate where ticketUpdate.id = 10008;    
Select MIN(UpdateTime) from TicketUpdate where ticketUpdate.id = 10008;

如果有 2 个不同的时间,即使在我的数据库中输出也是一样的。 你能告诉我这里可能是什么问题吗?

最佳答案

ID 似乎是该表的唯一标识符。相反,您似乎想使用 TicketID 来查找每张票的最大值和最小值。

例如,要为 TicketID = 1008 找到它们:

SELECT MAX(UpdateTime) FROM TicketUpdate WHERE TicketUpdate.TicketID = 1008;    
SELECT MIN(UpdateTime) FROM TicketUpdate WHERE TicketUpdate.TicketID = 1008;

或者在一个查询中:

SELECT 
  MAX(UpdateTime) AS newest,
  MIN(UpdateTime) AS oldest
FROM TicketUpdate
WHERE TicketID = 1008;

要获取每个单独的 TicketID 的最新和最旧,请使用 GROUP BY 并省略 WHERE 子句。

SELECT 
  TicketID,
  MAX(UpdateTime) AS newest,
  MIN(UpdateTime) AS oldest,
FROM TicketUpdate
GROUP BY TicketID

如果您使用 ID 进行查询,您将始终获得同一行,因为每个 ID 似乎只有一个值来唯一标识其行。

关于postgresql - 在 SQL 中创建查询时需要一些帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10195759/

相关文章:

postgresql - Power BI 实时连接到 PostgreSQL

postgresql - 重新分发 PostgreSQL 命令行工具

SQL - OR 条件的顺序重要吗?

ruby-on-rails - 如何使用模式信息在 Rails 中设置 PostgreSQL 表名?

ruby-on-rails - 如何让 datamapper 与 postgresql 数据库一起工作?

sql - 工会异常行为

sql - Rails 中的原始数据库查询

sql - 稀疏连接中的 PostgreSQL 慢 WHERE 子句

postgresql - 通过多行插入查询向JSON类型的列插入NULL值

function - 带循环的 PostgreSQL 函数