我搜索了带有日期的文章。在 MySQL 中是:
Article:
id | title
1 | first
2 | second
3 | third
4 | fourth
日期文章:
id | article_id | from | to
1 | 1 | 10-10-2010 | 11-11-2010
2 | 2 | 11-10-2010 | 12-12-2010
3 | 1 | 13-12-2010 | 12-01-2012
4 | 3 | 11-11-2012 | 12-12-2012
5 | 4 | 02-02-2013 | 02-02-2014
我想获取所有带有日期的文章并按可用性排序。
例如,我想获取所有文章并按日期从 12-10-2011 到 12-01-2012 进行排序
这应该返回我:
这可以使用 SQL 或 SQL 和 PHP 吗?如果是,如何?
最佳答案
使用 CASE 子句,例如:
SELECT * FROM DatesArticle
ORDER BY CASE
WHEN id=3 AND CURRENT_DATE()<=from and to < CURRENT_DATE()>=to THEN 1
WHEN <condition_2> THEN 2
etc...
ELSE <any other condition>
END
并不是说上面的内容会按原样工作,但它会给你和想法。如果您添加您尝试过的查询的示例,或者您如何构建 where 子句,这将有助于获得更好的答案。
关于php - 按是或否排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11361657/