计数记录没有给出正确的数字

时间:2017-03-22 13:17:55

标签: mysql

当我输入以下查询时

SELECT
    COUNT(*) AS COUNT
FROM
    OP_table OP
WHERE
    OP.TARGET_ID= 4330000000000369;

我的数量为55

当我尝试在连接中使用它时

SELECT
    TS.TARGET_ID, T.TARGET_NAME, T.TARGET_PUBLIC_NAME, count( DISTINCT OP.OP_ID) AS OP_COUNT
FROM
    TS_table TS
INNER jOIN
     T_table T
ON
    T.TARGET_ID = TS.TARGET_ID
OUTER JOIN
    OP_TABLE OP
ON
    OP.TARGET_ID = T.TARGET_ID
WHERE
    TS.TARGET_SERVICE_ID = number

然后我得到

TARGET_ID,    TARGET_NAME,    TARGET_PUBLIC_NAME,    OP_COUNT
number,       target name,    Ebook Central History  33781

计数为33781.我想使用第二个函数结构,但得到正确的计数55

出于某种原因,它获取了Target_id的计数而不是Target_service ID'

我也注意到我输入以下内容

SELECT
    COUNT(*) AS COUNT
FROM
    KB_OBJECT_PORTFOLIOS OP
WHERE
    OP.TARGET_ID=4330000000000383;

其中该数字对应将产生结果33781。

在加入的某个地方,它摆脱了目标ID 4330000000000369并使用不同的目标ID 4330000000000383

1 个答案:

答案 0 :(得分:0)

好吧,我从愚蠢的专栏名称OP.target_ID = TS.target_service_id而不是TS.target_ID ......中混淆了......