Php 1 | 18.07 | 0mysql不同优先级查询排序

Php 1 | 18.07 | 0mysql不同优先级查询排序,php,mysql,sorting,Php,Mysql,Sorting,我最近一直在触底 我目前试图做的是按日期对数据库条目进行“排序”,如果日期已经过去,并且值X没有改变,那么将其附加到列表的顶部,如果值在底部改变了 也许制作一些图形来解释我的问题会更好一些 Entry | "date" | X 1 | 10.07 | 0 1 | 11.07 | 1 1 | 12.07 | 1 1 | 13.07 | 1 1 | 14.07 | 1 1 | 15.07 | 1 1 | 16.07

我最近一直在触底

我目前试图做的是按日期对数据库条目进行“排序”,如果日期已经过去,并且值X没有改变,那么将其附加到列表的顶部,如果值在底部改变了

也许制作一些图形来解释我的问题会更好一些

Entry | "date" | X
1      | 10.07  | 0
1      | 11.07  | 1
1      | 12.07  | 1
1      | 13.07  | 1
1      | 14.07  | 1
1      | 15.07  | 1
1      | 16.07  | 1
1      | 17.07  | 1
1      | 18.07  | 0
1      | 19.07  | 1
这应该转变为

Entry | "date" | X
1      | 19.07  | 1
1      | 17.07  | 1
1      | 16.07  | 1
1      | 15.07  | 1
1      | 14.07  | 1
1      | 13.07  | 1
1      | 12.07  | 1
1      | 11.07  | 1
1      | 18.07  | 0
1      | 10.07  | 0
使用“纯”mysql是否可能做到这一点? 我一直试图通过按日期“排序”来让它工作,但这不是我最终想要完成的

SELECT * FROM table_entries ORDER BY start_date ASC LIMIT 25

祝您度过愉快的一天

通过“x”和“日期”字段下订单。因此,所有记录将首先按“x”排序,然后按日期排序

SELECT * FROM table_entries ORDER BY x DESC, start_date DESC LIMIT 25

如果我没弄错的话,您希望按X值对行进行排序(顶部有一行),然后按日期对行进行排序。 您可以使用“按X排序,开始日期”来实现它 在查询中。
您可以在
X
开始日期之后指定
ASC
DESC
,以获得所需效果
您的查询将变成这样:

从表格条目中选择*按X描述排序,开始日期ASC限制25

按X描述排序,开始日期ASC
开始日期ASC,X DESC
或可能只
开始日期DESC
对你来说足够了这是一个什么样的奇怪的日期?为什么你们这么讨厌评论。为什么你们这么讨厌评论答案不是评论,评论是为了问问题来澄清问题或回答谢谢,这对我帮助很大。但现在我需要一种方法,将“过期”(日期已过且值未更改,因此X=0)的项目添加到顶部,并将未“过期”的项目添加到em下方,也许图像可以更好地解释这一点nvm明白了,现在我遇到了一个问题,即X=1的值(在图像中)未按日期排序,例如,1小时前的某个值低于3小时前的某个值。愚蠢的问题:您是否在sql中使用日期类型?不是字符串