楼主的问题没讲清楚
********
求出PIECECODE的前四位为1002,这句我能看懂,我也知道怎么弄.
*********************记录,并按照出现次数多少排列记录10条这句就有点糊涂了,找10条记录没问题,但什么叫-----出现资料多少排列?
你总得有个标准吧?
************另,以后楼主如问到有关数据库方面的东西,最好先说一下你用的是什么数据库,OK?

解决方案 »

  1.   

    :),不好意思!
    数据库 MYSQL 
    求出PIECECODE的前四位为1002的记录,  并按照  出现次数  的多少排列 记录 (就是每个商品记录都会重复出现,要出现次数最多的在前面这样子排)
    比如 
     
    后面的10条,就是显示10条就可以了
      

  2.   

    楼主..........
    我还是不明白....
    PIECECODE前四位是1002后,该字段内是不是还会有许多个1002出现?
    你出现资料的多少是指在PIECECODE这个字段里1002出现的多少呢?还是
    另有一个字段记录出现了多少的数据?出现最多排前面应该不是问题.但如果你是PIECECODE字段中有许多个1002
    的话......(应该不会这样吧?)
      

  3.   

    :( 不好意思。谢谢你给看了好几次。。
    条件是:
    1   记录的  IECECODE字段  的前四位为1002, 
    2   按照 记录的出现次数  的多少排列记录。 (就是每个商品记录都会重复出现,要出现次 数最多的记录在前面这样子排)
     
     
    3   显示10条就可以了
      

  4.   

    SELECT PIECECODE, NAME,PRICE, COUNT(*) CNT
    FROM tbName
    WHERE LEFT(PIECECODE,4)='1002'
    GROUP BY PIECECODE
    ORDER BY CNT DESC
    LIMIT 10
      

  5.   

    SELECT PIECECODE ,NAME,PRICE 
    FROM tbName
    WHERE SUBSTR(PIECECODE,0,4) IN (1002)
    GROUP BY PIECECODE
    ORDER BY CNT DESC
    LIMIT 0,10
      

  6.   

    SQL 语句 :  SELECT PIECECODE, NAME,PRICE, COUNT(*) CNT FROM tbName WHERE LEFT(PIECECODE,4)='1002' GROUP BY PIECECODE ORDER BY CNT DESC LIMIT 10 MySQL 返回:
    You have an error in your SQL syntax near ',PRICE, COUNT(*) CNT FROM tbName WHERE LEFT(PIECECODE,4)='1002' GROUP BY PIECEC' at line 1
    返回 :(