百分急问一个mysql语句,请大家帮帮小弟我~

百分急问一个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条的话为什么不加排序语句呢

百分急问一个mysql语句,请大家帮帮小弟我~

相关文章:

你感兴趣的文章:

标签云: