SQL - 嵌套选择不尊重外部限制

时间:2018-02-11 20:39:48

标签: mysql

我是MySQL初学者,试图找出它的工作原理。我以为我得到它直到我运行以下内容:

SELECT
    (
        SELECT COUNT(task_user.task_id = tasks.id) FROM task_user
    ) A
FROM
    tasks

我认为这会为每一行产生In [14]: df Out[14]: account employees grade sales 0 1 3 80 150 1 1 5 200 2 2 1 50 3 2 2 60 100 4 3 3 125 5 4 5 60 250 6 5 7 85 300 In [15]: df.groupby('account').filter(lambda x: any(x.grade)) Out[15]: account employees grade sales 0 1 3 80 150 1 1 5 200 2 2 1 50 3 2 2 60 100 5 4 5 60 250 6 5 7 85 300 task_useruser_id匹配id 当前行tasks的行数} 即可。令我沮丧的是,我获得了一系列相同的行:

A:
--
29
29
29
29
29
29
29
29
29

总共匹配的总数。有谁知道怎么做我想要的?任何人都可以解释为什么以上是我的结果?

1 个答案:

答案 0 :(得分:1)

Noob错误..

所以,我希望获得for i in range(0, len(rloc)): r['geometry'][i] = [ ( float(element.split(',')[0]), float(element.split(',')[1]) ) for element in r['geometry'][i] ] 行的总数。通过运行tasks.id = task_user.task_id我计算了TRUE和FALSE值

SELECT
    (
        SELECT COUNT(task_user.task_id = tasks.id) FROM task_user
    ) A
FROM
    tasks

我刚刚将COUNT替换为COUNT,但效果很好。

SELECT
    (
        SELECT SUM(task_user.task_id = tasks.id) FROM task_user
    ) A
FROM
    tasks