Mysql 我想根据我的db列状态显示结果

Mysql 我想根据我的db列状态显示结果,mysql,Mysql,我已经创建了数据库列status。在状态列中,数据存储为0或1 1means=active 0 means=inactive 我想以status1first和status0second和order by news id desc显示数据 这是我的代码: select *from news where status='1' or status='0' order by nid desc 这里我得到的是结果,但我想展示的是,状态为1的数据应该首先显示,然后才是状态为0的数据。关于您的问题,有几

我已经创建了数据库列status。在状态列中,数据存储为0或1

1means=active
0 means=inactive
我想以
status1
first和
status0
second和order by news id desc显示数据

这是我的代码:

select *from news where status='1'  or status='0' order by nid desc

这里我得到的是结果,但我想展示的是,状态为1的数据应该首先显示,然后才是状态为0的数据。关于您的问题,有几点没有意义:

  • 如果状态为0或1,为什么要将其与1和2进行比较
  • 如果状态为整数,为什么在值周围使用单引号
您的问题的答案只是将您想要的密钥放入
order by
语句中:

select n.*
from news n
where n.status in (0, 1) 
order by n.status desc, n.nid desc

谢谢,在实现您的查询之后。结果按此顺序显示状态1,0,0,0,1,1。我希望以这种方式首先显示状态1。我想要这样的状态1,1,1,0,0,0。我希望你能回答你的问题understood@divyakodeeswaran . . . 这些结果毫无意义。
order by
中的第一个键是
status
,因此具有相同状态的所有行都应该在一起。想想这个n.status desc,我在status列中维护了它,而在默认情况下输入它是status 1。我将使用1或0使其处于活动或非活动状态说明在此如何工作感谢它正在工作。在我按n.status desc、n.nid desc更改为order后,它将提供结果请使用示例数据和所需结果编辑您的问题。