【问题标题】:Select entire row with max ID选择具有最大 ID 的整行
【发布时间】:2021-07-21 08:49:27
【问题描述】:

我目前正在尝试从我的数据库中的特定用户那里提取所有测量值,其中行具有最大测量 ID(也就是他们的最新测量值)

到目前为止我所拥有的:

SELECT *
FROM Measurements 
WHERE Measure_ID = (SELECT max(Measure_ID) FROM Measurements) AND Client_ID = 1

但是,它提取的只是列名,而不是实际数据。此 SQL 语句适用于我正在使用的所有其他表,我不知道为什么它不适用于我的测量表。我什至重新创建了表格,但它仍然无法正常工作。我从其他正在运行的语句中逐字复制并更改了变量以适应该语句。依然没有。有什么我遗漏的吗?

感谢任何帮助!

【问题讨论】:

  • 在查询中两次引用同一个表时,使用表别名并在列前加上前缀很重要。

标签: sql sql-server database select max


【解决方案1】:

只需使用order by:

select top (1) m.*
from measurements m
where m.client_id = 1
order by m.Measure_ID desc;

【讨论】:

  • 非常感谢!效果很好!
猜你喜欢
  • 2021-08-10
  • 2011-11-28
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
  • 2018-06-02
  • 2021-05-19
  • 2019-01-23
  • 2015-01-14
相关资源
最近更新 更多