当我键入以下查询时
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
最佳答案
好的,我从愚蠢的列名中混淆了OP.target_ID = TS.target_service_id而不是TS.target_ID ...
关于mysql - 计数记录没有给出正确的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42952802/