sql 双重查询排序的问题,请高手解决!
程序:asp数据库:sqlseveraccess里查询语句:select*fromstablewhereclassid=5orderbystate=2,state=4,t...
程序: asp
数据库: sql sever
access里查询语句:
select * from stable where classid=5 order by state=2,state=4,time desc;
但是转换成sql数据库后就出错;
请高手指点,sql数据库下的正确的查询语句如何写?
排序只需要把 state=2 和4的排在前方,其他的不管;
如果按照order by state,time desc,
则会把 state=3 的也排在前方,
请高手们先理解一下 展开
数据库: sql sever
access里查询语句:
select * from stable where classid=5 order by state=2,state=4,time desc;
但是转换成sql数据库后就出错;
请高手指点,sql数据库下的正确的查询语句如何写?
排序只需要把 state=2 和4的排在前方,其他的不管;
如果按照order by state,time desc,
则会把 state=3 的也排在前方,
请高手们先理解一下 展开
3个回答
展开全部
想了想没什么好的方法,下面是一种笨方法,就是分两次来查询。第一次先把state=2 和4的查询出来显示在前面,接着在后面继续查询。
select * from stable where classid=5 and state=2 or state=4 order by time desc
select * from stable where classid=5 and state<>2 or strte<>4 order by time desc
select * from stable where classid=5 and state=2 or state=4 order by time desc
select * from stable where classid=5 and state<>2 or strte<>4 order by time desc
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询