Mysql 查询结果不准确
我有以下查询,为我提供了准确的结果:Mysql 查询结果不准确,mysql,sql,Mysql,Sql,我有以下查询,为我提供了准确的结果: SELECT t.id FROM titles t ORDER BY t.id SELECT t.id FROM titles t JOIN subscriptions s ON t.id = s.title WHERE s.user=2 我的结果是: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 我的第二个查询也为我提供了准确的结果: SELECT t.id FROM titles t O
SELECT t.id
FROM titles t
ORDER BY t.id
SELECT t.id
FROM titles t
JOIN subscriptions s
ON t.id = s.title
WHERE s.user=2
我的结果是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
我的第二个查询也为我提供了准确的结果:
SELECT t.id
FROM titles t
ORDER BY t.id
SELECT t.id
FROM titles t
JOIN subscriptions s
ON t.id = s.title
WHERE s.user=2
结果:
10
11
14
因此,我尝试从第一个查询接收第二个查询中未显示的所有结果,因此我运行以下命令:
SELECT t.id
FROM titles t
ORDER BY t.id NOT IN
(
SELECT t.id
FROM titles t
JOIN subscriptions s
ON t.id = s.title
WHERE s.user=2
);
但我的结果是:
14
11
10
13
12
9
8
7
6
5
4
3
2
1
我做错了什么?在我的第二个查询中,为什么顺序颠倒了?NOT in应该是WHERE条件的一部分,而不是order BY语句:
SELECT
t.id
FROM
titles t
WHERE
t.id NOT IN
(
SELECT t.id
FROM titles t
JOIN subscriptions s
ON t.id = s.title
WHERE s.user=2
)
ORDER BY
t.id
NOT IN应该是WHERE条件的一部分,而不是ORDER BY语句:
SELECT
t.id
FROM
titles t
WHERE
t.id NOT IN
(
SELECT t.id
FROM titles t
JOIN subscriptions s
ON t.id = s.title
WHERE s.user=2
)
ORDER BY
t.id
哇,这是反应最快的记录。谢谢可以将条件简化为t.id NOT IN SELECT s.title FROM subscriptions s,其中s.user=2,假设s.title不是NULLWow,这是最快响应的记录。谢谢可以将条件简化为t.id NOT IN SELECT s.title FROM subscriptions s,其中s.user=2,假设s.title不为null,则顺序不颠倒。请注意前3行:14、11、10顺序没有颠倒。请注意前3行:14、11、10