我看到很多類似的問題,但它們要麼太複雜,我不能理解它們,要麼它們似乎沒有問同樣的問題。在另一個語句(子查詢?)中使用一個sql查詢的結果
很簡單:我有兩列:用戶(dmid)和下載(dfid)。
選擇誰下載特定文件中的所有用戶:
SELECT DISTINCT dmid FROM downloads_downloads where dfid = "7024"
使用上面的用戶,找到所有他們所有下載的文件:
SELECT dfid from downloads_downloads WHERE dmid = {user ids from #1 above}
計數和秩序的英國國際發展部結果,所以我們可以看到每個文件接收的下載量有多少:
dfid dl_count_field ---- -------------- 18 103 3 77 903 66
我試圖回答。
這看起來很接近,但MySql陷入泥潭,甚至在30秒後也不響應 - 我最終重新啓動了Apache。我現在不會因爲複雜的陳述而沒有得到語法錯誤來構造計數和順序 - 甚至可能不是正確的陳述。
SELECT dfid from downloads_downloads WHERE dmid IN (
SELECT DISTINCT dmid FROM `downloads_downloads` where dfid = "7024")
你不應該使用用雙引號(''')來表示字符文字,用單引號代替。雙引號是MySQL的東西,不能與其他DBMS一起工作(因爲在標準SQL中,雙引號用於標識符,而不是文字)。那個dfid是一個數值,你不應該使用任何引號。數字不需要引號。 –