MySQL在where子句中选择查询

时间:2013-08-31 13:05:15

标签: mysql sql select where

你可以更正此查询吗?它显示了一些语法错误。

SELECT * 
 WHERE `id` IN (SELECT DISTINCT unit_trust_managing_company_id 
                  FROM ut_funds 
                 ORDER BY `company_name`)

SELECT DISTINCT unit_trust_managing_company_id FROM ut_funds ORDER BY company_name`查询正常运行。

2 个答案:

答案 0 :(得分:21)

from

之前需要where条款
SELECT *
FROM <some table here>
WHERE `id` IN (SELECT unit_trust_managing_company_id FROM ut_funds)

此外,distinct声明不需要order byin

答案 1 :(得分:0)

在大多数(所有?)情况下,您可以在不使用where子句中的查询的情况下重写查询,并获得更好的性能。尝试类似:

  SELECT DISTINCT t.*
    FROM some_table t, ut_funds u
   WHERE t.id=u.unit_trust_managing_company_id