我试图从MySQL查询中得到排序的结果,但我不知道要进行查询。
我有一个示例Mysql表,如下所示:
id | cat_type 1 | free 2 | free 3 | free 4 | free 5 | paid 6 | paid ... | ... ... | ... ... | ... and it goes on.
结果应如下表所示:
id | cat_type 1 | free 2 | free 5 | paid 3 | free 4 | free 6 | paid ... | free ... | free ... | paid and goes on(should be sorted)
总结果应拆分为3。在前三个结果中,前两个应为free,下一个应paid同样,所有其余结果应分类为2free和1 paid。
free
paid
任何想法如何使用查询完成此操作?
注意:最重要的是,应将其分类为两个免费和一个付费。不按ID。
谢谢。
对于您的特定数据,您可以执行以下操作:
order by (case when cat_type = 'free' then id*1.0 else 2*id - 7.5 end)
这似乎 很 不可思议。如果您遇到更一般的问题,则应该问另一个问题,以更好地描述您真正想要完成的工作。