问题描述
是否可以在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));
尽管如此,我找不到一种方法来按该新值对结果进行排序。
解决方法
order by必须能够对日期进行排序,并考虑从最近的一周到最远的一周的周值。
我想你想要
df['date'] = pd.to_datetime(df['date'])
cutoff = pd.to_datetime('2019-01-10')
mask = df['date'] >= cutoff
customers_before = df.loc[~mask,'customer_id'].unique().tolist()
customers_after = df.loc[mask,'customer_id'].unique().tolist()
result = set(customers_after) - set(customers_before)
请注意,这假设列select t.*
from mytable t
order by t.date + interval t.weeks week
的数据类型为date
,而不是字符串;否则,您需要先将其转换为日期,例如使用date
。