Phpmyadmin-每隔四行显示一个特定的类别

hl0ma9xz  于 2023-03-18  发布在  PHP
关注(0)|答案(1)|浏览(138)

我有一个表,其中包含四列ID、Name、Gender、CategoryID和100条记录。enter image description here

在categoryID列中,categoryID的范围从1到5,现在我希望每隔四行显示一个category1。例如,如果第一行的categoryId为1,那么在4行之后,第5行的categoryId应为1,然后又有4行的categoryId不同,再之后的行的categoryId应为1
您可以参考上面所附的图片。
我希望结果类似于enter image description here

感谢您发送编修。

aydmsdu9

aydmsdu91#

我使用一个增量变量为categoryID=1和其他类别分配一个行号,然后根据这个排名和类别ID对它们进行排序。

select 
    ID, Name, Gender, CategoryID
from  
    (select 
         ID, Name, Gender, CategoryID,
         @rnk:=@rnk+5 as rnk
     from 
         table1, (select @rnk:=-4) r
     where 
         categoryID = 1
     union all
     select 
         ID, Name, Gender, CategoryID,
         case when mod(@rnk2,5)=0 then @rnk2:=@rnk2+2
              else @rnk2:=@rnk2+1 end as rnk
     from 
         table1, (select @rnk2:=0) r
     where 
         categoryID <> 1) t
order by 
    rnk, categoryID

观看演示:http://sqlfiddle.com/#!9/7a0d8/1

相关问题