Mysql 根据第二列的顺序增量更新日期字段列

Mysql 根据第二列的顺序增量更新日期字段列,mysql,sql,wordpress,Mysql,Sql,Wordpress,WordPress站点的MSQL数据库 我想为表中的每一行更新一个日期列,将日期/时间设置为递增值(例如,按1天递增值)。我进行更新的顺序应该基于行中另一列的文本排序。使用的实际日期值不相关(它可以从2001-01-01 00:00:00开始,以秒、分钟、小时或天为单位递增) 表中两列的示例: field_date , title_text 2014-08-20 09:00:27, AAA-Entry 2014-08-24 10:00:00, ZZZ-Entry 2014-08-

WordPress站点的MSQL数据库

我想为表中的每一行更新一个日期列,将日期/时间设置为递增值(例如,按1天递增值)。我进行更新的顺序应该基于行中另一列的文本排序。使用的实际日期值不相关(它可以从2001-01-01 00:00:00开始,以秒、分钟、小时或天为单位递增)

表中两列的示例:

field_date         , title_text
2014-08-20 09:00:27, AAA-Entry
2014-08-24 10:00:00, ZZZ-Entry
2014-08-27 10:15:00, MMM-Entry
因此,具有第一个“title_text”(按字母顺序排序)的行应获得最新日期。基于title_文本的下一行应该有一个稍早的日期,依此类推,直到最后一行(基于title_文本)有最早的日期。因此,上面显示的数据最终看起来像:

field_date         , title_text
2000-01-03 00:00:00, AAA-Entry
2000-01-01 00:00:00, ZZZ-Entry
2000-01-02 00:00:00, MMM-Entry
更新后,然后执行以下命令: 按日期字段从tbl_名称订单中选择*

将以标题文本字段的字母顺序显示输出。这相当于运行: 按标题文本从tbl_名称顺序中选择*

我在看: [对于SQL2005,并尝试在mySQL上实现这一点,因为我认为这是可行的(我只是将'order by'语句更改为'order by title_text')。但我在将其转换为mySQL时遇到了问题

我非常感谢您对不同方法的任何建议,或者对在mySQL中使用上述解决方案的建议

谢谢

伊恩


注意:这背后的原因是Wordpress根据发布日期填充列表框/搜索结果,但我希望它根据标题文本进行排序。可能会有一个“Wordpress”答案(或插件)来完成此操作(如果您知道,请随时告诉我;-)),但从学习的角度来看,我也想了解使用mySQL是如何做到这一点的。

在mySQL中,您可以使用排序进行更新。最简单的方法是先定义变量,然后进行更新:

set @rn = -1;

update t
    set field_date = date('2000-01-01') + interval (@rn := @rn + 1) day
    order by title_text desc;

是的。只需使用Wordpress代码XHI草莓。谢谢你的回复。是的,我在那个网站上花费了很多时间,有很多有用的信息。但是,我还没有找到解决问题的方法,如果可能的话,我宁愿不添加插件。这就是为什么我要查看SQL路由。Gordan-谢谢!这看起来正是w我要买的东西。我只是有一个小小的语法问题,但现在你给了我答案,我会花一些时间。再次感谢。对不起-没有足够的代表投票-但你有我的感谢!伊恩戈丹-全部整理好了,谢谢。这只是额外的;一天之后,我丢了。再次感谢。@eyepea…那是一个打字错误。对不起-没有这听起来并不是批评。只是对其他像我这样的SQL尼安德特人的评论,他们可能会发现这条线索:-)