【发布时间】:2014-08-31 11:27:17
【问题描述】:
用于 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_text 的下一行应该获得稍早的日期,依此类推,直到最后一行(基于 title_text)具有最旧的日期。所以上面显示的数据最终看起来像:
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
更新后命令: select * from tbl_name order by field_date
将显示也将按 title_text 字段的字母顺序排列的输出。这相当于运行: select * from tbl_name order by title_text
我在看: [Incrementing datetime field with an update statement 用于 SQL2005 并试图让它在 mySQL 上运行,因为我认为这会起作用(我只是将 'order by' 语句更改为 'order by title_text')。但我在将其转换为 mySQL 时遇到了问题。
如果有任何关于不同方法或让上述解决方案在 mySQL 中工作的建议,我将不胜感激。
谢谢
伊恩
注意:这背后的原因是 Wordpress 根据发布日期填充列表框/搜索结果,但我希望根据标题文本对其进行排序。 可能有一个“Wordpress”答案(或插件)来做到这一点(如果你知道,请随时告诉我;-)),但从学习的角度来看,我也想了解如何使用 mySQL 实现这一点。
【问题讨论】:
-
是的。只需使用 Wordpress 代码
-
嗨草莓。谢谢回复。是的,我在那个网站上花了很多时间,并且有很多有用的信息。但是,我还没有找到解决我的问题的方法,如果可能的话,我宁愿不添加插件。这就是我查看 SQL 路由的原因。