我在執行這句SQL的時候提示了此錯誤:設計
SELECT * FROM t_product WHERE c_sid IN ( SELECT c_id FROM t_shops WHERE c_ditclass=17 ORDER BY RAND() limit 5 ) GROUP BY c_sid
字面意思就是這個版本的MYSQL不支持LIMIT與後面那些東西一塊兒使用。code
不明白爲何要這樣設計。it
由於咱們將子查詢語句再嵌套一下,就不會出錯了。table
把原來的語句: ……IN (……LIMIT)……class
改成: ……IN (……FROM(……LIMIT))…… 的格式,就不會出這個錯了。im
但如今又會提示新的錯誤: Every derived table must have its own alias查詢
就是說,每一個派生的表都必須擁有別名 因此最後改成這樣就不會出錯了: ……IN (……FROM(……LIMIT) AS 別名)……tab