> 백엔드 개발 > PHP 튜토리얼 > mysql排序问题~

mysql排序问题~

WBOY
풀어 주다: 2016-06-20 12:31:26
원래의
982명이 탐색했습니다.

我现在有两个字段 addDay(添加时间)和status(状态)。
我想要实现以下排序方式:
1.按addDay降序排列,并且status升序排列且status2.把status>=6的放在规则1的后面,并且按addDay降序和status升序排列

addDay         status
2016-4-14    1
2016-4-14    2
2016-4-13    1
2016-4-13    2
2016-4-14    6
2016-4-13    6

请问各位大神,这样的排序,应该如何写sql语句?


回复讨论(解决方案)

select addDay,status from table where status < 6 order by addDay desc,status ascunion allselect addDay,status from table where status >= 6 order by addDay desc,status asc
로그인 후 복사

order by case when status<6 then addDay else 1 end desc,status asc
로그인 후 복사

order by case when status<6 then addDay else 1 end desc,addDaydesc,status asc
로그인 후 복사

select * from table order by if(status<6 , 1, 0 ) desc, addDay desc,status asc

select * from tbl_name order by status>=6, addDay desc, status asc
로그인 후 복사

谢谢各位了,问题已经解决了

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿