我的 mapper 里面的sql大概是这个结构
SELECT
t.ID,
b. NAME
FROM
(
SELECT
*
FROM
(
SELECT
*
FROM
T_TEST01 ht
ORDER BY
ht.time DESC
) a
GROUP BY
a.base_id
) t,
T_TEST02 b
WHERE
t.test02_id = b.id
然后项目启动跑出来的sql变成了
SELECT
t.ID,
b. NAME
FROM
(
SELECT
*
FROM
(
SELECT
*
FROM
T_TEST01 ht
) a
GROUP BY
a.base_id
) t,
T_TEST02 b
WHERE
t.test02_id = b.id
它把我的 ORDER BY ht.time DESC 给我干掉了!!!! 就导致数据出现问题。
解决方法:在 order by 之前加上 /*keep orderby*/ 变成这样
SELECT
t.ID,
b. NAME
FROM
(
SELECT
*
FROM
(
SELECT
*
FROM
T_TEST01 ht /*keep orderby*/
ORDER BY
ht.time DESC
) a
GROUP BY
a.base_id
) t,
T_TEST02 b
WHERE
t.test02_id = b.id
解决问题