第一条sql语句
SELECT DISTINCT
out_id
FROM
down_message_body
WHERE
out_id IS NOT NULL AND out_id != - 1
AND out_id != ''
ORDER BY send_time DESC
LIMIT 20
第二条sql语句
SELECT DISTINCT
temp.out_id
FROM
(SELECT
*
FROM
down_message_body
ORDER BY send_time DESC) temp
WHERE
temp.out_id IS NOT NULL
AND temp.out_id != - 1
AND temp.out_id != ''
LIMIT 20
两条都可以运行,但是第一条结果不正确,第二条结果正确,原因是,当order by与distinct同时使用时,应该先把order by结果作为子查询。