使用concat函数连接来自多个列的数值。
这将会创建一个新列status,它的值由条件决定。如果没有使用else,对于不满足条件的,case表达式会返回null。
同时使用rand函数、limit和order by可以达到此效果。
注意:在order by子句中指定数字常量时,是要求根据select列表中相应位置的列来排序;在order by子句中使用函数时,则按函数在每一行计算结果排序。
匹配null时,必须使用is null,不能使用= null
你可以使用非null值来代替null值
select coalesce(column, 0) from table这里,将column为null的值替换为0。
表明按照column1的最后两个字符排序。
思路是先产生一张带有is_null信息的临时表,然后先按is_null排序,再按你需要的列排序:
select column1, column2 from ( select column1, column2 case when column1 is null then 1 else 0 end as is_null from table) t1 order by is_null, column1表明按照column1升序排序,null放最后。
使用case表达式:
select column1, column2, column3 from table order by case when column1 = ' ' then column2 else column3 end表明当column1的值为' '时,按照column2排序;否则按照column3排序。
