百分急问一个mysql语句,请大家帮帮我~~
现在有产品表 product
pid '产品id
cid '公司id
name '产品名
现在要求是这样的,求出,符合条件 name like '%aaa% ' 的记录,但每个公司只能出一条
我现在是这样实现的,先求出每个公司符合条件的最大的记录,组成一个集合,作为子查询,然后再求出详细信息
如下
select * from product
where pid in
(
select max(pid) as maxid
from product
where name like '%aaa% '
group by comid
limit 0,20
)
问题来了,我现在用的是mysql 4.1
他死活不让我在子查询中,用limit 0,20
如果把limit 0,20 放在外面的话,效率又极低
谁能帮帮我,谢谢
------解决方案--------------------select *
from 表名 AS A
where [name] like '%aaa% '
and pid= (select top 1 pid from 表名 where cid=A.cid order by pid )
------解决方案--------------------学习
------解决方案--------------------你为什么要用limit呢?如果
select max(pid) as maxid
from product
where name like '%aaa% '
group by comid
的数目> 20的话,那后20条不是没了?
如果是前20条的话为什么不加排序语句呢