PHP和MySQL按业力点排序

PHP和MySQL按业力点排序,mysql,Mysql,我有一个名为“posts”的MySQL表,其中有“karma”和“date”列 我想按以下顺序打印此表中的信息:首先是最近的帖子,但首先是最近的帖子,那些业力值较高的帖子 如果我按date DESC排序,然后按karma DESC排序,表格会先给我所有最近的帖子,然后按karma排序,但不必先给我那些当天更重要的帖子,因为顺序是先打印最近的帖子(按date DESC排序) 但是如果不是这样,我先按karma DESC然后按date DESC排序,PHP文件将首先打印我所有的业力点数最高的帖子,然

我有一个名为“posts”的MySQL表,其中有“karma”和“date”列

我想按以下顺序打印此表中的信息:首先是最近的帖子,但首先是最近的帖子,那些业力值较高的帖子

如果我按
date DESC
排序,然后按
karma DESC
排序,表格会先给我所有最近的帖子,然后按karma排序,但不必先给我那些当天更重要的帖子,因为顺序是先打印最近的帖子(按date DESC排序)

但是如果不是这样,我先按
karma DESC
然后按
date DESC
排序,PHP文件将首先打印我所有的业力点数最高的帖子,然后按日期排序所有业力点数较低的帖子

你能建议我如何首先打印最近那些业力最高的帖子吗

在简历中,我需要先打印出最近的、业力更高的帖子

以下是一些示例数据:

|------------|-------------|
| ID | KARMA |    DATE     |
|------------|-------------|
| 9  |  23   | November 23 |
|------------|-------------|
| 8  |  13   | November 23 |
|------------|-------------|
| 7  |  19   | November 23 |
|------------|-------------|
| 6  |  33   | November 22 |
|------------|-------------|
| 5  |  2    | November 22 |
|------------|-------------|
| 4  |  9    | November 21 |
|------------|-------------|
因此,帖子应按以下id顺序打印在屏幕上:

  • 11月23日的第一个最佳帖子:9、7、8
  • 然后是11月22日的最佳帖子:6、5
  • 然后是11月21日的最佳帖子:4
  • 继续
我已经试过了:

ORDER BY posts.date DESC, posts.karma DESC
但这显然会导致首先显示最近的帖子,然后是那些业力值更高的帖子

SELECT * FROM `posts` ORDER BY DATE(`date`) DESC, `karma` DESC
此查询将优先排序
日期
字段,然后排序
业力
字段。因此,输出将是:
9,7,8,6,5,4

    **Schema (MySQL v5.7)**

        Create table testT (
         ID int, 
         karma varchar(255),
         table_date date 
        );
        INSERT INTO testT (ID, karma, table_date) 
VALUES ("9","23","2020.11.23"),
("8","13","2020.11.23"),
("7","19","2020.11.23"),
("6","33","2020.11.22"),
("5","2","2020.11.22"),
("4","9","2020.11.21");



    ---

    **Query #1**

        Select * FROM testT ORDER BY table_date DESC, karma DESC;

    | ID  | karma | table_date |
    | --- | ----- | ---------- |
    | 9   | 23    | 2020-11-23 |
    | 7   | 19    | 2020-11-23 |
    | 8   | 13    | 2020-11-23 |
    | 6   | 33    | 2020-11-22 |
    | 5   | 2     | 2020-11-22 |
    | 4   | 9     | 2020-11-21 |

    ---

请用样本数据制作可重复生产的示例。或者至少向我们展示样本数据。你也可以使用这样的工具。什么定义了“最近的帖子”?“如果我按日期描述,然后按因果报应描述”这个确切的东西应该适用于你的例子。为什么你觉得自己没有得到想要的结果?看,事情是这样的:首先是最近一篇文章的业力为0,然后是下一篇文章的业力为2…所以你可能在数据库中有完整的日期和时间,但你只想按日期排序,而不是按时间。但是根据这条指令,如果一篇包含0个因果报应的帖子是在包含3个因果报应的帖子之后发布的……将首先打印包含0个因果报应的最新帖子,然后打印之前发布的包含3个因果报应的帖子……看,下面是一个关于此指令的示例:列
日期
的数据类型是什么<代码>日期
日期时间
时间戳
?当前时间戳()然后,请用时间戳信息发布您的实际数据。这是此命令的作用: