【发布时间】:2020-12-16 04:51:59
【问题描述】:
有没有办法在我的 SQL 结果交付后对其进行排序?到目前为止,我有两个值。我的代码目前返回结果,可以按日期排序ORDER BY date ASC
感兴趣的数据库条目是。
| date | weeks |
| 2020-07-01 | 2 |
| 2020-07-01 | 3 |
| 2020-07-01 | 5 |
周表示距下一个日期还有多少周。所以 2020-07-21、2020-08-03 等等(我能够返回这些值)。 order by 需要能够对日期进行排序并考虑从最近周到最远周的周值。
我尝试使用名为 final_date 的新字段更新数据库,尽管这会使一切变得混乱。
返回数据后,我可以使用以下方法找到新日期:
$addWeeks = strtotime('+'.$numberOfWeeks.' weeks', strtotime($last));
虽然,我找不到按新值排序结果的方法。
【问题讨论】:
-
您真的以那种格式存储日期吗?日期是什么数据类型?
-
@P.Salmon 我的日期格式实际上是 (2020-07-01)。日期是 SQL 数据库中的实际日期值
-
始终确保示例数据与您的真实数据具有相同的格式,以减少混淆和误解。
-
我更新了问题以包含正确的数据格式。 @MagnusEriksson
-
7-08-2020与2020-07-01的格式不同。对这两个进行排序会以完全不同的顺序为您提供记录。
标签: php mysql sql datetime sql-order-by