黑马程序员技术交流社区

标题: 问大家一个我遇到的sql问题 [打印本页]

作者: 旺丶财    时间: 2014-10-24 12:05
标题: 问大家一个我遇到的sql问题
我用的mysql数据库,需要用到 where in 。有一个Company表,一个Product表。
SELECT 企业名称 FROM
        (
                select p.P_Company AS 企业名称,COUNT(p.P_Company) AS 产品总数 from product p GROUP BY p.P_Company ORDER BY 产品总数 DESC
        )K
LIMIT 1

这一句从Product表返回商品数量最多的P_Company(企业名称)没问题,
下面这句加上了where in 为什么就不行了呢?
select * from product where P_Company IN
        (
        SELECT 企业名称 FROM
                (
                select p.P_Company AS 企业名称,COUNT(p.P_Company) AS 产品总数 from product p GROUP BY p.P_Company ORDER BY 产品总数 DESC
                )K
        LIMIT 1
)


作者: 梦梦不知道    时间: 2014-10-24 12:05
select * from product where P_Company IN
        (
        SELECT 企业名称 FROM
                (
                select p.P_Company AS 企业名称,COUNT(p.P_Company) AS 产品总数 from product p GROUP BY p.P_Company ORDER BY 产品总数 DESC
                )K
       where rownum<2
)

改用rownum设定数量
作者: 皮三藏    时间: 2014-10-24 12:50
where 后面的  P_Company 改成p.P_Company 再试试
作者: 旺丶财    时间: 2014-10-24 12:57
皮三藏 发表于 2014-10-24 12:50
where 后面的  P_Company 改成p.P_Company 再试试

还是不行
[SQL] select * from product where p.P_Company IN
        (
        SELECT 企业名称 FROM
                (
                select p.P_Company AS 企业名称,COUNT(p.P_Company) AS 产品总数 from product p GROUP BY p.P_Company ORDER BY 产品总数 DESC
                )K
        LIMIT 1
        )

[Err] 1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
这个版本的MYSQL不支持?
作者: 笑望长空,逆转    时间: 2014-10-27 09:33
旺丶财 发表于 2014-10-24 12:57
还是不行
[SQL] select * from product where p.P_Company IN
        (

select * from product where P_Company IN
        (
        SELECT 企业名称 FROM
                (
                select p.P_Company AS 企业名称,COUNT(p.P_Company) AS 产品总数 from product p GROUP BY p.P_Company ORDER BY 产品总数 DESC
                )K
        LIMIT 1
        )

作者: 旺丶财    时间: 2014-10-28 09:05
换一种思路:
select * from product p HAVING p.P_Company=
        (
        SELECT 企业名称 FROM
                (
                select p.P_Company AS 企业名称,COUNT(p.P_Company) AS 产品总数 from product p GROUP BY p.P_Company ORDER BY 产品总数 DESC
                )K
        LIMIT 1
       )
作者: chenhuan_ccit    时间: 2014-11-7 17:55
不清楚 啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2