如果数据库表有user
id name password
1 wang wang
2 zhang zhang
3 yang yang
我想查询这张表,并且把传入的特定条件的行放查询出来的第一行,比如把name=zhang的那行查询出来放在第一行,
其他的行顺序随便,查出来是
2 zhang zhang
1 wang wang
3 yang yang
请问高手这个查询的sql语句怎么实现啊
id name password
1 wang wang
2 zhang zhang
3 yang yang
我想查询这张表,并且把传入的特定条件的行放查询出来的第一行,比如把name=zhang的那行查询出来放在第一行,
其他的行顺序随便,查出来是
2 zhang zhang
1 wang wang
3 yang yang
请问高手这个查询的sql语句怎么实现啊
CASE WHEN name='zhang' THEN 0 ELSE 1 END,
ID
fom tb
where name = zhang
union all
select *
from tb
where name <> zhang
fom tb
where name = zhang
union all
select *
from tb
where name <> zhang
order by charindex('wang',[name]) desc
where name = 'zhang'
union all
select * from user
where name <> 'zhang'
/*
如果数据库表有user
id name password
1 wang wang
2 zhang zhang
3 yang yang
我想查询这张表,并且把传入的特定条件的行放查询出来的第一行,比如把name=zhang的那行查询出来放在第一行,
其他的行顺序随便,查出来是
2 zhang zhang
1 wang wang
3 yang yang
请问高手这个查询的sql语句怎么实现啊
*/
select *
from (
select 1 id,'wang' [name],'wang' password union
select 2,'zhang','zhang' union
select 3,'yang','yang') b
order by case when [name]='wang' then 1 end
id name password
2 zhang zhang
3 yang yang
1 wang wang