小弟第一次用MYSQL,1000W级以上数据库
例子如下
id type          itemtext       shopid;
1   1(数码类)   联想E40        1(京东)
2   3(鞋)       安踏E40        2(好乐买)
3   1(新蛋)     联想E40(0576)  3(新蛋)
4   1(数码类)   联想E40(0578)  1(京东)
5   1(包包)     手包E40         5(mBaoBao)
.....
.....
如何查询,比如,E40可以让他分组输出
数码类(10)  包包类(5)  鞋类(3)    分别表示查询出来的数码类符合条件的有10个,包包类的5个,鞋类的3个
京东(5)     新蛋(2)    好乐买(1)  分别表示查询出来的商店符合条件的京东有10个,新蛋2个,好乐买1个
下边是产品排序,比如京东符全条件有5个,先输出最符合条件的排出2个,然后到新蛋,然后到鞋类,就是混排,按关键字排序
小哥我先谢了

解决方案 »

  1.   

    try:\
    select sum(if(type=1,1,0)) as 数码类,sum(if(type=3,1,0)) as 鞋类,sum(if(type=2,1,0)) as 包包类,
    sum(if(shopid=1,1,0)) as 京东,sum(if(shopid=2,1,0)) as 好乐买,....
    from tt where INSTR(itemtext,'E40')>0
      

  2.   

    谢谢WWWA,可是这个数码类之类的可能有好几十个,店的分类也有上1000个,要是这么写,可能有好长的SQL啊
      

  3.   

    没办法,你的要求如此,也可以用SP来动态生成SQL语句,再执行
      

  4.   

    而且我的店和类型都有可能地增加,那有没更好的解决方案啊,谢谢WWWA,rucypli
      

  5.   

    如果分次查询会快一点不,比如先查有多少类型(type),然后查商店类型(shopid),然后再查详细的数据列表itemtext
      

  6.   

    用SP来动态生成SQL语句,再执行如果分次查询会快一点不,比如先查有多少类型(type),然后查商店类型(shopid),然后再查详细的数据列表itemtext测试一下不就知道了