gpt4 book ai didi

MySQL:为什么这些查询返回不同的结果?

转载 作者:行者123 更新时间:2023-11-30 23:58:57 24 4
gpt4 key购买 nike

查询 1:

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...

最佳答案

查询 1:如果日期之间至少有一条记录存在,则检索整个表。

查询 2:仅检索日期之间的记录。

阅读here EXISTS 的工作原理。

关于MySQL:为什么这些查询返回不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com