首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql结果多样化

Mysql结果多样化
EN

Stack Overflow用户
提问于 2018-06-08 00:01:06
回答 1查看 31关注 0票数 0

我通过以下方式在db中获得了表:

代码语言:javascript
复制
id   Name    Type
1.   Aero.      Product
2.   Ddd.       Product
3.   Sass.      Image
4.   Rrrrr.       Image

这只是为了理解和实际的表在更大的规模。所以问题是如何得到多样化的结果,这样产品类型就不会像产品,产品,图像,图像

如果我要做select * from table where 1 order by ‘id’ Results having grouped “type”,我希望得到这样的结果

代码语言:javascript
复制
1 blabla product
3 blabla image
2 blabla product
4 blabla image

因此,具有相同类型的记录将分布在结果上,并且尽可能多地不会留在一起

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 00:18:21

如前所述,如果您在应用程序代码中执行这种类型的排序会更好,在Mysql中,您可以使用用户定义的变量来执行此操作。

首先根据类型划分数据,为产品获取数据并分配行号,然后对类型image的第二个数据集执行相同的操作,然后使用联合操作合并这些集,然后按行号对它们进行排序

代码语言:javascript
复制
select *
from(
  select d1.*, @row1:= @row1 + 1 as row
  from demo d1,
  (select @row1:=0) t1
  where `Type` = 'Product'
  union all
  select d2.*, @row2:= @row2 + 1 as row
  from demo d2,
  (select @row2:=0) t2
  where `Type` = 'Image'
) t
order by t.row, t.Type desc

demo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50745667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档