【问题标题】:Sort by certain column for the first 24 hours then order just by date在前 24 小时内按特定列排序,然后仅按日期排序
【发布时间】:2013-11-22 01:54:55
【问题描述】:

我试图仅在前 24 小时内(我有一个日期时间列)按某个列(比如 QUALITY 列什么是浮点数)对表进行排序。然后它应该按日期顺序对其余行进行排序,因为质量列不再重要。只有日期时间在 24 小时后才重要。

如何在 mysql 中完成此操作?

【问题讨论】:

  • 前 24 小时”是什么意思?首先从什么时候开始
  • 日期时间列在当天(过去 24 小时)内的表中的行。

标签: mysql sorting


【解决方案1】:

假设你的意思是从现在开始 24 小时,你可以使用这样的东西 -

select * from [tablename] t order by date_sub(now(), INTERVAL 24 HOUR)

【讨论】:

  • 你可能用“”,对吧?我用一列整数(不同质量列)对其进行了测试,其中 78 看起来比 724 大:(
  • 你能发布你的表格数据和预期的输出吗?
  • 如果使用“”,您的答案对我有用。我剩下的唯一问题是排序mysql看到7比74大。78比724大。看到另一篇文章应该使用cast(quality_column as integer)但不知道如何将其与您的查询集成。
  • 您对“”的看法是对的。那么质量列的数据类型是什么? (我假设您所说的正在发生,因为它不是 int?)
  • 数据类型为 INT(8)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 2011-12-01
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
  • 2021-09-30
相关资源
最近更新 更多