0
此刻「matrix_mct_versions」是一個包含73個條目的表。當我運行這個查詢時,「version_count」總是返回73,即完整的行數。當我自己運行子選擇查詢時,我根據發送的com_ID參數獲得了真正的計數。我看不出我在做什麼錯了..任何人都可以幫忙嗎?mysql子查詢計數返回gloabl計數並忽略其中
SELECT
a_ID as com_ID,
option_number,
comment,
word_count,
gender,
sample,
(
SELECT
count(a_ID)
FROM
matrix_mct_versions
WHERE
com_ID = com_ID
) as version_count
FROM
matrix_mct
WHERE
attribute_number = :attribute_number AND
grade_number = :grade_number AND
attribute_type = :attribute_type
ORDER BY
option_number
返回的結果是這樣的:
[0] => Array
(
[com_ID] => 678
[option_number] => 1
[comment] => TODO primary function missing for controller y
[word_count] => 7
[gender] => 2
[sample] => 0
[version_count] => 73
)
[1] => Array
(
[com_ID] => 679
[option_number] => 2
[comment] => TODO make this green
[word_count] => 4
[gender] => 2
[sample] => 0
[version_count] => 73
)
[2] => Array
(
[com_ID] => 680
[option_number] => 3
[comment] => TODO make this better
[word_count] => 4
[gender] => 2
[sample] => 0
[version_count] => 73
)
啊啊啊..我想,如果我宣佈「A_ID爲com_ID,」那com_ID會像傳遞變量下的查詢子查詢使用... – John
@約翰。 。 。有瘋狂的方法。 MySQL在這裏解釋了子查詢的範圍規則(http://dev.mysql.com/doc/refman/5.7/en/correlated-subqueries.html)。 –
非常感謝,非常有幫助! – John