SELECT *
FROM user_d1
WHERE EXISTS (SELECT 1
FROM `user_d1`
WHERE birthdate BETWEEN '1989-08-04' AND '1991-08-04')
ORDER BY timestamp_lastonline DESC
LIMIT 20
查询2:
SELECT *
FROM user_d1
WHERE birthdate BETWEEN '1989-08-04' AND '1991-08-04'
ORDER BY timestamp_lastonline DESC
LIMIT 20
什么我真的不明白:为什么查询2返回错误的结果?它返回最初由birthdate
,然后下令timestamp_lastonline
列表...
哦,这是一个遗憾,蒂姆删除了他的答案,这是非常有益的(从内部和外部查询连接PK):'SELECT * FROM user_d1 uo WHERE EXISTS(SELECT 1 FROM user_d1 ui WHERE ui.birthdate BETWEEN'1989-08-04'和'1991-08-04'和ui.id = uo.id)ORDER BY uo.timestamp_lastonline DESC LIMIT 20' – Chris