Heim  >  Artikel  >  Backend-Entwicklung  >  mysql查询语句有关问题,求,多谢

mysql查询语句有关问题,求,多谢

WBOY
WBOYOriginal
2016-06-13 12:00:26925Durchsuche

mysql查询语句问题,急求,谢谢
表a,有字段a_sort(int),a_date(bigint),分别为排序和日期,日期存的时间戳
a_sort       a_date
0                 1403172542
0                 1403056816
0                 1403172558
1                 1403172594
2                 1403056323
4                 1403056888
6                 1402655021
5                 1403056634

要如何才能查询出来以a_sort升序显示,但是0不参与升序,后面就按日期降序。
我写的 
select * from a order by a_sort>0 asc,a_date desc,

select * from a order by a_sort!=0 asc,a_date desc
都不行
请问要这语句该怎么写呢??
------解决方案--------------------
select * from a order by a_sort = 0, a_sort, a_date desc
试一下~
------解决方案--------------------
0不參與升序是什麼意思?

按a_sort 升序排 0就是排第一了,你要的是非0先排按升序,0的排最后,然後整體再按時間倒序排?

SELECT * FROM `a` order by a_sort>0 desc,a_sort asc, a_date desc;
------解决方案--------------------
... order by a_sort>0 desc, a_sort, a_date desc

a_sort a_date <br />1      1403172594 <br />2      1403056323 <br />4      1403056888 <br />5      1403056634 <br />6      1402655021 <br />0      1403172558 <br />0      1403172542 <br />0      1403056816
 
这样有什么不对吗?

------解决方案--------------------
select * from a order by if(a_sort != 0,1,0) desc, a_sort asc,a_date desc

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn