我最近跌入了谷底。
我目前想做的是按日期对数据库条目进行"排序",如果日期已经过去,值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值(顶部有一个)对行进行排序,然后按日期进行排序。您可以使用ORDER BY X,start_date
来实现它在您的查询中
您可以在X
和start_date
之后指定ASC
或DESC
以获得所需效果
您的查询结果如下:SELECT * FROM table_entries ORDER BY X DESC, start_date ASC LIMIT 25
通过"x"answers"date"字段进行订单。因此,所有记录将首先按"x"排序,然后按日期排序。
SELECT * FROM table_entries ORDER BY x DESC, start_date DESC LIMIT 25