我有两个查询,它们都应该以相同的顺序返回thumbUrls。我的目标是使用第二个查询,因为它必须是另一个查询的一部分,这将不适用于第一个查询。我已经打破了查询,但找不到区别的是什么。
查询一:
SELECT album, thumbUrl
FROM lychee_photos
WHERE album = '16'
ORDER BY takestamp ASC, id DESC LIMIT 3;
结果:
-------------------------------------------------
| album | thumbUrl |
-------------------------------------------------
| 16 | 48c4d04567590b44a0c604197a049ef5.jpeg |
| 16 | 5db0fce4937104e7d27dae64d6cd9990.jpeg |
| 16 | a70bb8499b683b1eeab17336c3f07f7e.jpeg |
-------------------------------------------------
查询二:
SELECT album, substring_index(
GROUP_CONCAT(thumbUrl ORDER BY takestamp ASC, id DESC), ',', 3
) AS thumbs
FROM lychee_photos
WHERE album='16'
GROUP BY album;
结果:
-----------------------------------------------------------------------------------------------------------------------------
| album | thumbUrl |
-----------------------------------------------------------------------------------------------------------------------------
| 16 | 1b98e17f1af051753a958c18953adbd5.jpeg,c506f4fedb8a4df691d276d6abdb75f7.jpeg,f0cc0ba23effc0443f367ca63dd1e72f.jpeg |
-----------------------------------------------------------------------------------------------------------------------------
预期输出:
我希望看到thumbUrls与查询一中的顺序相同。
-----------------------------------------------------------------------------------------------------------------------------
| album | thumbUrl |
-----------------------------------------------------------------------------------------------------------------------------
| 16 | 48c4d04567590b44a0c604197a049ef5.jpeg,5db0fce4937104e7d27dae64d6cd9990.jpeg,a70bb8499b683b1eeab17336c3f07f7e.jpeg |
-----------------------------------------------------------------------------------------------------------------------------
其他详细信息:
substring_index()
不会影响订单substring_index()
第一个查询返回正确排序的thumbUrls - 第二个查询没有。但为什么?如何保留第二个的输出格式并获得正确的排序?