我用一张用户表,其中有一个字段为flag,flag的值为0和1,意思是是否锁定用户(用户锁定视为不能登录),我现在想实现一个显示用户列表的功能(全查),但是又想将锁定的和未锁定的用户翻开,那sql语句该怎么写呢?

解决方案 »

  1.   

    1.在查询语句中添加 order by flag.
    2.在前台程序中根据 flag 值直接区分.
      

  2.   

    这个东西要看你想在数据库取出数据时就分开还是在前端才处理,如果数据库就分开,那order by flag就足够了。或者用union、case when等等,方法有很多很多,楼主最好说清楚你最终想要的。
      

  3.   

    下午睡觉了,现在才回复,主要是你的最终结果没有一开始就说清楚。你的这个问题我个人理解其实很简单,就是查出一个整体结果,order by flag,id 。可能在你的select 语句中加上select xxx,case when flag=0 then '没锁定' else '锁定' end  来把0、1转换成中文,然后把这段结果放到分页存储过程中,前端调用就可以拉
      

  4.   


    你可以通过前端获取数据后判断flag的值加以区分,如果数据量大,分页是必然的,你只需要在进行一个分页查询就可以了