大家帮帮看,这组SQL如何分组一次查询,并分组输出?

jakof绝代风华 2011-07-11 09:53:41
小弟第一次用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个,然后到新蛋,然后到鞋类,就是混排,按关键字排序


小哥我先谢了
...全文
148 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2011-07-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qwe123345 的回复:]
而且我的店和类型都有可能地增加,那有没更好的解决方案啊,谢谢WWWA,rucypli
[/Quote]
用SP来动态生成SQL语句,再执行

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

测试一下不就知道了
jakof绝代风华 2011-07-11
  • 打赏
  • 举报
回复
如果分次查询会快一点不,比如先查有多少类型(type),然后查商店类型(shopid),然后再查详细的数据列表itemtext
jakof绝代风华 2011-07-11
  • 打赏
  • 举报
回复
而且我的店和类型都有可能地增加,那有没更好的解决方案啊,谢谢WWWA,rucypli
rucypli 2011-07-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qwe123345 的回复:]
谢谢WWWA,可是这个数码类之类的可能有好几十个,店的分类也有上1000个,要是这么写,可能有好长的SQL啊
[/Quote]
只能一个个写
WWWWA 2011-07-11
  • 打赏
  • 举报
回复
没办法,你的要求如此,也可以用SP来动态生成SQL语句,再执行
jakof绝代风华 2011-07-11
  • 打赏
  • 举报
回复
谢谢WWWA,可是这个数码类之类的可能有好几十个,店的分类也有上1000个,要是这么写,可能有好长的SQL啊
WWWWA 2011-07-11
  • 打赏
  • 举报
回复
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
jakof绝代风华 2011-07-11
  • 打赏
  • 举报
回复
最好有简单一点的,太复杂的我看不懂了,呵呵

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧