ThinkPHP order by 两个条件
$result = $db->where($where)->limit($page->firstRow.','.$page->listRows)->order('status asc')->select();
这个order该怎么写,在线等 展开
order by可以按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可以是降序(DESC),如果缺省,则是升序。order by中如果定义了多个字段,则按照字段的先后顺序排序。
比如: order by * desc, * acs ;
*为条件,条件的优先级和条件的先后顺序一致,order by通常放在SQL语句的最后。
扩展资料:
order by排序的用法:
1,ORDER BY 中关于NULL的处理缺省处理
Oracle在Order by 时认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前。也可以使用nulls first 或者nulls last 语法来控制NULL的位置。
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
2,多列排序
单列升序:select<column_name> from <table_name> order by <column_name>; (默认升序,即使不写ASC)
单列降序:select <column_name> from <table_name> order by <column_name> desc。
多列升序:select <column_one>, <column_two> from <table_name> order by <column_one>, <column_two>。
多列降序:select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> desc。
多列混合排序:select <column_one>, <column_two> from <table_name> order by <column_one> desc, <column_two> asc。
参考资料来源:百度百科-order by
$result = $db->where($where)->limit($page->firstRow.','.$page->listRows)->order('status asc,addtime desc')->select();
望采纳 Thx
推荐于2016-07-30
语句的最后。
ORDER子句中定义了多个字段,则按照字段的先后顺序排序:
select * from tablename order by column1 desc, column2 asc,
column3 desc; 在column2中有'AAA','BBB'两种值。让AAA在前,BBB在后排序的情况:
方法一 select * from tablename order by column1 desc,
case column2 when 'AAA' then 0 when 'BBB' then 1 end ,column3 desc;
方法二 select * from tablename order by column1 desc,
CHARINDEX(column2,'AAA,BBB') , column3 desc