作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要通过时间戳的最大值获取值和时间戳的记录。值和时间戳的组合是一个主键。似乎有两种方法可以获得最大值/最小值。一个查询示例是使用 TOP 1 + ORDER BY:
SELECT TOP 1
value, timestamp
FROM myTable
WHERE value = @value
ORDER BY timestamp DESC
SELECT value, max(timestamp)
FROM myTable
WHERE value = @value
GROUP BY value
最佳答案
如果您在 (value, timestamp)
上没有复合索引那么他们会很穷,而且可能同样很穷。
有了索引,由于查询优化器,它们可能会相同。
您还可以使用这些来快速测试自己使用的资源:
SET STATISTICS IO ON
SET STATISTICS TIME ON
SELECT @value AS value, max(timestamp)
FROM myTable
WHERE value = @value
关于sql - TOP 1 + ORDER BY 或 max/min + GROUP BY 的 TSQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6318138/
我是一名优秀的程序员,十分优秀!