关于SQL排序,父条件对应子条件排序

例:

文章列表中显示方式: 

编辑推荐文章  -> 最新文章

 

即:优先显示完编辑推荐的文章,之后在显示最新文章

 

编辑推荐文章按推荐时间排序(最近的时间在前面)

 

最新文章按最新发布时间排序 (最近的时间在前面)

 

即: 编辑推荐文章(推荐时间降序排序) -> 最新文章(发布时间降序排序)

 

每个排序都有子排序,那么,SQL中处理方法:

 

SELECT * FROM table ORDER sort ASC, childSort DESC

 

在表中新增 sort 字段和 childSort 字段

 sort 字段代表“编辑推荐文章  -> 最新文章”的排序,即:1代表推荐文章,2推荐最新文章

 

 childSort 字段中保存了排序编号,代表了 sort 字段的子排序

 

例:

管理员在2012年11月25日推荐“推荐文章1”时,该条数据的 sort字段值为1,childSort字段为20121125

管理员在2012年11月26日推荐“推荐文章2”时,该条数据的 sort字段值为1,childSort字段为20121126

会员在2012年11月27日发布文章“文章3” ,该条数据的 sort字段值为2,childSort字段为20121127

会员在2012年11月28日发布文章“文章4” ,该条数据的 sort字段值为2,childSort字段为20121128

 

查询结果就能实现 : 编辑推荐文章(推荐时间降序排序) -> 最新文章(发布时间降序排序)

结果: 

推荐文章2

推荐文章1

文章4

文章3

posted @ 2012-11-28 17:49  cjnmy36723  阅读(346)  评论(0编辑  收藏  举报