這可能已被問到,但由於我是一個龐大的PHP/MySQL noob,我真的不知道它是什麼,我正在尋找。我執行以下查詢:PHP/MySQL子查詢返回多於一行
SELECT shortlink_analytics.shortlink AS short,
COUNT(shortlink_analytics.shortlink) AS shortcount,
(SELECT link FROM shortlinks WHERE shortlinks.shortlink = shortlink_analytics.shortlink) AS shLink
FROM shortlink_analytics JOIN shortlinks ON shortlink_analytics.shortlink = shortlinks.shortlink
GROUP BY shortlink_analytics.shortlink
ORDER BY COUNT(shortlink_analytics.shortlink) DESC LIMIT 10
這用來工作,但在上週已經重新審視它,我注意到輸出,而不是工作,顯示的錯誤:
Subquery returns more than 1 row
後與我設法找到了問題所在(!我想)在該地區的代碼玩弄(但我不是很確定):
GROUP BY shortlink_analytics.shortlink
ORDER BY COUNT(shortlink_analytics.shortlink) DESC LIMIT 10
會有人能夠解釋:
- 我哪裏出錯了?
- 可能的原因,爲什麼它一個月工作,然後停止工作?
- 什麼是解決我的問題的方法?
爲什麼不使用'INNER JOIN'更換這部分'SELECT FROM shortlinks WHERE shortlinks.shortlink = shortlink_analytics.shortlink'鏈接。這使您的查詢更具可讀性,並可能表現更好... –