- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从下表中,我尝试选择 distinct(id)
并按 timestamp desc
order
它们。但我似乎没有得到正确的结果。
"id" "head" "type" "updated" "userId" "addedDate"
"1" "2" "0" "1" "1" "2013-11-23 21:09:23"
"1" "2" "1" "1" "1" "2013-11-23 21:09:40"
"2" "2" "0" "1" "1" "2013-11-23 21:09:44"
"2" "2" "1" "0" "1" "2013-11-23 21:09:47"
我的查询
select distinct(id) as id, addedDate from test
where userId = 1 group by id order by addedDate desc;
当前结果
"id" "addedDate"
"2" "2013-11-23 21:09:44"
"1" "2013-11-23 21:09:23" // This is wrong.
//It should have been the one with 2013-11-23 21:09:40
期望的结果
"id" "addedDate"
"2" "2013-11-23 21:09:47" //The one that was added last
"1" "2013-11-23 21:09:40" //The one that was added last
最佳答案
您的查询以非常错误的方式使用了 GROUP BY
。您想为每个 id
找到最大的 addedDate
:
SELECT id, MAX(addedDate) AS max_addedDate
FROM test
WHERE userId = 1
GROUP BY id
ORDER BY max_addedDate DESC ;
即使您不想在 SELECT
列表中显示最大日期,您仍然可以在 ORDER BY
子句中使用它:
SELECT id
FROM test
WHERE userId = 1
GROUP BY id
ORDER BY MAX(addedDate) DESC ;
如果您有不同的要求(正如您在评论中提到的)并且您还想显示表中的更多列(但仍然是每个 ID 具有最大日期的行),您可以将上述查询与连接一起使用:
SELECT t.id, t.addedDate, t.type -- whatever columns you want from `t`
FROM test AS t
JOIN
( SELECT id, MAX(addedDate) AS addedDate
FROM test
WHERE userId = 1
AND head = 2
GROUP BY id
) AS m
ON m.id = t.id
AND m.addedDate = t.addedDate
WHERE t.userId = 1
AND t.head = 2
ORDER BY t.addedDate DESC ;
关于mysql - 按时间戳排序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20164539/
给定一个带有多个 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 。 ...
我是一名优秀的程序员,十分优秀!