场景
要求某个字段的一个特定的值,要放在第一行显示。
实现方式一
SELECT * FROM company WHERE 1=1 and companyid=1
order by username='admin' DESC ,isadmin ASC
这样就实现了username为admin的数据显示在了最上方
实现方式二
(SELECT * FROM company WHERE 1=1 and companyid=1 and
username='admin')union(SELECT * FROM company WHERE
username is not null order by ctime desc limit 0,100)
这种方式是实现两张子表中的数据进行合并,但左右两张表的字段列数一定要相同,且union会去掉重复行数据(如果不想去掉重复的行,可以使用union all)
在子表中使用order by 一定要与 limit连用,否则是失效的。提倡在检索的最后面使用 order by