mysql 根据另一列的值按不同列查询排序

mysql query ordering by different column depending on value of another column

我试过这段代码,但它不起作用。

$select=$conn->query("select * from tbl_testquestion ORDER BY SUBSTRING( type_id=0 qu_id RAND() ) , type_id=1 qu_id ASC");

问题不达标请建议修改

您需要使用 case 语句

SELECT *      
FROM tbl_testquestion 
ORDER BY 
    CASE 
        WHEN type_id=0 THEN RAND() 
        WHEN type_id=1 THEN qu_id 
    END ASC