SQL小技巧,用多个条件进行排序
巧用order by之前在学习和实践中,我们用order by 语句基本是指用一个条件进行判断,然而今天我在写课程设计的时候遇到了这么一个情况现在后台需要返回一周7*12节课的数据,在表time中有84条相应的数据,字段date表示周一至周天,字段location表示这节课的位置。我按照从前到后的顺序,直接查询,返回。写安卓端的小伙伴从我这里获取了数据,之后他问我,能不能按第一节课,第二节课那样的
巧用order by
之前在学习和实践中,我们用order by 语句基本是指用一个条件进行判断,然而今天我在写课程设计的时候遇到了这么一个情况
现在后台需要返回一周7*12节课的数据,在表time中有84条相应的数据,字段date表示周一至周天,字段location表示这节课的位置。我按照从前到后的顺序,直接查询,返回。写安卓端的小伙伴从我这里获取了数据,之后他问我,能不能按第一节课,第二节课那样的顺序,他那边就俺横排渲染,我现在的数据顺序相当于竖着传过去了。当然,他也可以在那边对我发过去的84个对象重新排序。
我想了想,排序用order by,但是之前都是只有一个字段,这次的应该是用到了两个字段,date和location,没有这么写过,于是我翻了MYSQL的文档,查到order by 语句还可以对多个字段使用,于是我用了这么一条SQL就解决了问题
select * from time order by location,date;
解读一下:只有在location 值相同的时候,才对第二个字段的数据进行排序,默认为asc。
之后我又考虑,如果我们第一个字段希望是降序呢?测试一下,
select * from time order by location desc,date asc;
也就是我们在该字段后可以对升序的降序进行控制,当然如果有多个字段,用法应该也是一样的。
最后把图放上来,SQL技巧还有很多,作为后端开发人员,我们应当多多掌握
更多推荐
所有评论(0)