sql语句在in查询时,按照in里的顺序排序

原本的sql语句:

$sql=$empire->query("select classid,sonclass,classname,islast,islist from {$dbtbpre}enewsclass where classid in (1,22,239,241,75,80,45,62) and showclass=0 order by myorder,myorder asc");

修改后的sql语句:

$sql = $empire->query("  
    SELECT   
        classid,  
        sonclass,  
        classname,  
        islast,  
        islist   
    FROM   
        {$dbtbpre}enewsclass   
    WHERE   
        classid IN (1,22,239,241,75,80,45,62)   
        AND showclass=0   
    ORDER BY   
        FIELD(classid, 1, 22, 239, 241, 75, 80, 45, 62),  
        myorder ASC  
");

在SQL查询中,如果想按照classidIN子句中的顺序进行排序,需要创建一个自定义的排序逻辑。

比如使用CASE语句来手动定义排序规则。

© 版权声明
THE END
喜欢就支持一下吧
点赞15
评论 抢沙发

请登录后发表评论

    暂无评论内容