如何根据发布的日期对数据进行排序?

时间:2010-09-27 17:06:24

标签: php mysql

如何根据提交数据的星期几来对存储在mysql数据库中的数据进行排序?

我基本上想创建一个日记,根据日期发布的日期输出每周的每一天的信息,

星期一 - 按日期排序的数据 星期二 - 周三 - e.t.c

任何代码示例和信息都会很棒,谢谢。

7 个答案:

答案 0 :(得分:1)

你可以做一个

选择DAYOFWEEK(datehere)为dayofweek,datehere FROM ORDER BY dayofweek,datehere;

答案 1 :(得分:0)

您可以使用DAYOFWEEK功能提取日期,然后像对待任何其他数据一样对其进行排序。

答案 2 :(得分:0)

存储日期提交的列是什么类型的数据类型?

答案 3 :(得分:0)

好像你要求一个基本的SELECT语句?

SELECT some_column, another_colum FROM your_table ORDER BY your_date_column DESC

这假设您实际上有一个记录插入时间戳的列。

如果这个答案过于简单,请原谅我......并告诉我们更多细节:)

问候。

答案 4 :(得分:0)

如果您的数据存储为DATE或DATETIME字段,请使用DAYOFWEEK或DATE_FORMAT函数将其转换为输出的日期名称,但继续按DATE字段排序

SELECT DATE_FORMAT(my_date_column,'%W')AS dayofweek 来自my_table ORDER BY my_date_column

答案 5 :(得分:0)

好吧,排序位很简单,只需对表示帖子日期的列进行排序。几天内的分组是您可以在代码中执行的操作,因为您需要检查那里的日期(用于后处理实际输出)。

要这样说,您可以进行子选择以获取一周中的特定日期,但在您的代码中,您必须再次检查一天以对每天的帖子进行分组。在这种情况下,更好(更清洁,因为你将业务逻辑与数据分离)在你的代码中执行此操作,如下所示:

  1. 选择所有帖子(日期范围内)
  2. 制作一个关联数组,用 作为键和帖子的日子(在新的 数组)作为值
  3. 循环通过 天然后发帖输出了 每天发布的帖子

答案 6 :(得分:0)

SELECT *
FROM diary_entries
ORDER BY FIELD(DAYOFWEEK(created), '2, 3, 4, 5, 6, 7, 1'), created

DAYOFWEEK获取星期几(1 =星期日)。

FIELD使星期一是星期一的第一天。

按星期几排序后,按创建日期排序。