sql - 查询以从按一个字段分组的动态表中获取最后插入的行

标签 sql sql-server database sql-server-2008

我们如何编写查询以获取一组按字段名称分组的最后更新的行。例子

否 - 站点 ID - 状态 - created_at

随着从另一个来源提供的状态报告,“否”的数量不断增加。如在 中,插入会在某个时间间隔全天候 24/7 发生。但是我想在运行查询的那一刻检查 10 个站点的状态。

只有 10 个站点。我想生成这 10 个状态的报告

在最后插入的查询中,将为我们提供网站的当前状态。

我试过了

SELECT created_at,siteid  FROM [TOC].[dbo].[frame1] GROUP BY siteid ORDER BY created_at DESC

但是没有运气

最佳答案

我不确定你想要什么,你能举个例子输入和输出数据吗?

现在这里有一些可能对你有用的东西......

WITH
  sequenced_data AS
(
  SELECT
    ROW_NUMBER() OVER (PARTITION BY site_id ORDER BY created_at DESC) AS sequence_id,
    *
  FROM
    [TOC].[dbo].[Frame1]
)
SELECT
  *
FROM
  sequenced_data
WHERE
  sequence_id = 1

关于sql - 查询以从按一个字段分组的动态表中获取最后插入的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588467/

相关文章:

MySQL 一个查询按 n 行分组,组内最大和最小值,可能吗?

sql - SQL Server 10 大性能瓶颈

mysql - 如何直接向mysql插入数据(不使用sql查询)

python - 系统错误: 10054 An existing connection was forcibly closed by the remote host in python

database - Shared Access 2010 数据库处于不一致状态

MySQL - "many"关系的 "one to many"侧的聚集索引

SQL 服务器 Where 子句变量可能为空

sql - Oracle:较小结果集的性能较差?

php - MySql LEFT 连接多个具有相同 ID 或名称的表

sql - 在一个更新查询中更新 100k 条记录