表 cbc_bizinfo  是存储商家信息的  
结构如下: 
bizid  (商家ID) 
bizname  (商家名称) 
bizmemo  (商家简介) 
这是我发布的测试数据 
  bizid        bizname          bizmemo 
    3          测试商家01        暂无介绍 
    6          测试商家02        暂无介绍 
    20         测试商家03        暂无介绍 
........等 
表 cbc_bizuser  是存储用户去过的商家和想去的商家(是由用户来点击后 记录在表里面的) 
结构如下: 
buid    (ID) 
bizid   (商家ID) 
uid     (用户ID) 
want    (是否想去,是用0、1来判断) 
been    (是否去过,是用0、1来判断) 
这是我发布的测试数据 
  buid  bizid  uid    username    want     been   
     1    3    51     chenx3412    1        0  
     2    20   104    hanqueen     1        0  
     3    6    51     chenx3412    1        0  
     4    20   51     chenx3412    1        0  
     5    20   52     83519397     1        0  
     1    3    104    hanqueen     1        0 
我需要实现 商家列表是按照bizid(商家)在表 : cbc_bizuser 被记录的次数来排行! 结果是显示为这样: 
  1.测试商家03 (有2个人想去该商家) 
  2.测试商家01 (有2个人想去该商家) 
  3.测试商家02 (有1个人想去该商家)  需要怎么实现啊 请大家帮帮小弟~ 

解决方案 »

  1.   

    根据你发布的测试数据来看,01出现了2次,02出现了1次,03出现了3次,跟你的结果不符。我的结果:
    mysql> SELECT bizid AS bid, bizname, (SELECT COUNT(*) FROM cbc_bizuser WHERE biz
    id=bid) AS count FROM cbc_bizinfo ORDER BY count DESC;
    +------+------------+-------+
    | bid  | bizname    | count |
    +------+------------+-------+
    |   20 | 测试商家03 |     3 |
    |    3 | 测试商家01 |     2 |
    |    6 | 测试商家02 |     1 |
    +------+------------+-------+
    3 rows in set (0.00 sec)
      

  2.   

    你的QQ多少啊 有写地方不明白啊两个表里都是  bizid   为什么你这里出现了 bid
      

  3.   

    谢谢拉·  OK  LA