簡體   English   中英

在請求 SQL 結果后,如何對它們進行排序?

[英]How can I order SQL results after they have been requested?

有沒有辦法在交付后對我的 SQL 結果進行排序? 到目前為止,我有兩個值。 我的代碼目前返回結果,可以按日期排序ORDER BY date ASC感興趣的數據庫條目是。

| date       | weeks |
| 2020-07-01 | 2     | 
| 2020-07-01 | 3     |
| 2020-07-01 | 5     |

Weeks 表示離下一個日期還有多少周。 所以 2020-07-21、2020-08-03 等等(我可以返回這些值)。 order by需要能夠對日期進行排序並考慮從最近的一周到最遠的一周的值。

我曾嘗試使用名為 final_date 的新字段更新數據庫,盡管這會使一切變得混亂。

返回數據后,我可以使用以下方法找到新日期:

$addWeeks = strtotime('+'.$numberOfWeeks.' weeks', strtotime($last));

雖然,我找不到按新值對結果進行排序的方法。

order by 需要能夠對日期進行排序並考慮從最近的一周到最遠的一周的值。

我想你想要:

select t.*
from mytable t
order by t.date + interval t.weeks week

請注意,這假定列datedate數據類型,而不是字符串; 否則,您需要先將其轉換為日期,例如使用str_to_date()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM