mysq 排序后分组,未选择排序后第一条数据,求解答。

SELECT
    ukq.* 
FROM
    user_knowledge_questions AS ukq
    LEFT JOIN user_knowledge AS uk ON uk.id = ukq.user_knowledge_id 
WHERE
    uk.`status` = 0 
ORDER BY
    uk.end_time DESC

img

SELECT
    ukq.* 
FROM
    user_knowledge_questions AS ukq
    LEFT JOIN user_knowledge AS uk ON uk.id = ukq.user_knowledge_id 
WHERE
    uk.`status` = 0 
ORDER BY
    uk.end_time

img

SELECT
    ukq.* 
FROM
    (
    SELECT
        ukq.* 
    FROM
        user_knowledge_questions AS ukq
        LEFT JOIN user_knowledge AS uk ON uk.id = ukq.user_knowledge_id 
    WHERE
        uk.`status` = 0 
    ORDER BY
        uk.end_time DESC 
    ) AS ukq
GROUP BY
    ukq.questions_id

img

没太看懂你的描述 ,但是 左连接 左表的筛选条件不要放where 后面:


```sql
SELECT
    ukq.* 
FROM
    user_knowledge_questions AS ukq
    LEFT JOIN user_knowledge AS uk ON uk.id = ukq.user_knowledge_id  and uk.status = 0
ORDER BY
    uk.end_time DESC

```