- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个这样的表:
timesent |nr | value
2018-10-31 05:23:06 | 4 | Value 3
2018-10-31 05:20:19 | 4 | Value 2
2018-10-31 05:19:35 | 4 | Value 1
2018-10-31 04:55:56 | 3 | Value 2
2018-10-31 03:05:15 | 3 | Value 1
2018-10-31 01:31:49 | 2 | Value 1
2018-10-30 04:11:16 | 1 | Value 1
目前,我的选择看起来像这样:
SELECT * FROM values WHERE ORDER BY timesent DESC
我想做一个 sql-select 语句,它只返回每个“nr”的最新值。
我的技能不够好,无法将其转换为 sql 语句。我什至不知道我应该用谷歌搜索什么。
最佳答案
Values
是 Reserved Keyword in MySQL .考虑将表名更改为其他名称;否则你将不得不在它周围使用反引号
有多种方法可以解决您的问题。一种方法是在 nr
上执行“Self-Left-Join”(您希望仅在其上获得最大 timesent
值行的字段)。
SELECT v1.*
FROM `values` AS v1
LEFT JOIN `values` AS v2
ON v1.nr = v2.nr AND
v1.timesent < v2.timesent
WHERE v2.nr IS NULL
对于 MySQL version >= 8.0.2 , 你可以使用 Window Functions .我们将确定 Row_Number()
对于 nr
分区上的每一行,timesent
按降序排列(最高 timesent
值的行号 = 1)。然后,在 Derived Table 中使用此结果集并只考虑那些行号等于 1 的行。
SELECT dt.timesent,
dt.nr,
dt.value
FROM
(
SELECT v.timesent, v.nr, v.value,
ROW_NUMBER() OVER (PARTITION BY v.nr
ORDER BY v.timesent DESC) AS row_num
FROM `values` AS v
) AS dt
WHERE dt.row_num = 1
然而,另一种方法是获取派生表中nr
组的timesent
的最大值。现在将此结果集连接到主表,以便只显示与最大值对应的行:
SELECT v.timesent,
v.nr,
v.value
FROM
`values` AS v
JOIN
(
SELECT nr, MAX(timesent) AS max_timesent
FROM `values`
GROUP BY nr
) AS dt ON dt.nr = v.nr AND
dt.max_timesent = v.timesent
关于MySQL select - 如果列值是多余的,只按时间戳显示最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53080343/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!