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