mysql 显示行号,以及分组排序

建表:

CREATE TABLE `my_tb` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_code` varchar(255) DEFAULT NULL,
  `code` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

初始数据:

INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘01‘, ‘001‘);
INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘01‘, ‘002‘);
INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘02‘, ‘001‘);
INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘01‘, ‘003‘);
INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘02‘, ‘002‘);
INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘03‘, ‘001‘);
INSERT INTO `my_tb` (  `parent_code`, `code`) VALUES (‘04‘, ‘001‘);

查询行号:

-- 生成 行号
select @r:=@r+1 as row_num , a.* from  my_tb a ,(select @r:=0) b

显示分组号:

-- 生成 分组排序号

select
     @group_row:=CASE when @parent_code=a.parent_code then  @group_row+1 else 1 end as groupRow,
     @parent_code:=a.parent_code as parent_code,
     a.code  

  from  my_tb a ,( select @group_row:=1, @parent_code:=‘‘) as b
 ORDER BY   a.parent_code , a.code 

时间: 2024-10-13 10:50:54

mysql 显示行号,以及分组排序的相关文章

Mysql显示行号

SELECT `Name`,(@rowNum:[email protected]+1) AS rowNo FROM bas_student,(SELECT (@rowNum :=0)) a LIMIT 10;

ExtJS4.2 Grid知识点七:显示行号、斑马线效果(奇偶行背景色不一致)、复制单元格文字、禁止点击列排序

本节主要学习ExtJS4.2 Grid显示行号.斑马线效果(奇偶行背景色不一致).复制单元格文字.禁止点击列排序.禁止列头部右侧菜单,示例图片: 在线演示  /  在线演示 主要内容如下: 显示行号 斑马线效果(奇偶行背景颜色不一致) 复制单元格问题 禁止点击列排序 禁止列头部右侧菜单 1.显示行号 在Grid中增加行号列,xtype指定为rownumberer. {header: 'NO',xtype: 'rownumberer',width: 40,sortable: false} 2.斑马

SQL查询显示行号、随机查询、取指定行数据

1.显示行号 如果数据没有删除的情况下主键与行号是一致的,但在删除某些数据,行号就与主键不一致了,这时需要查询行号就需要用新的方法,在SQL Server2005之前,需要使用临时表,但在SQL Server2005中,使用ROW_NUMBER()非常方便. select row_number() over (order by UseriD) as rowNum,* from UserInfo 查询结果: 2.随机查询 有的时候我们需要查询出的数据是随机排序的,newid()函数在扫描每条记录时

mysql 取得行号后再排序

一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法. HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeM

如何让vim编辑器永久显示行号

在Linux环境下的编辑器有vi.vim.gedit等等.进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的.我们有二种办法可以解决: 第一种是,手动显示:在vim命令行模式下输入  :set nu 取消显示:在vim命令行模式下输入:  set nonu 第二种是,永久自动显示:我们修改一个配置文件. 我们输入命令:vim   ~/.vimrc     (vim   /etc/vimrc ) 打开后是一个空文件,我们添加 set nu,保存退出,再次进

gridcontrol显示行号,总行,打印,导出Excel,设置标头及内容居中方法

1.一般为了表格显示数据更直观,经常会显示行号以及总数.让gridcontrol显示行号,首先你需要设置一下显示行号的宽度,也就是IndicatorWith.默认值为-1,可根据实际数值需要设置宽度,案例设置为50:然后在gridView1_CustomDrawRowIndicator事件中添加如下代码: //设置显示行号样式,文字居中,也可根据e.Info.Appearance设置其他属性 e.Info.Appearance.TextOptions.HAlignment = DevExpres

配置vim,显示行号

直接编辑配置文件 /etc/vimrc, 在文件末尾添加如下设置 set nu         #表示显示行号 如果设置去除行号,则添加如下内容, set nonu      #去除行号 其他设置 在/etc/vim目录下的vimrc文件下 添加 set autoindent        #自动缩进 set ts=4            #这个是设置tap的大小为4个空格

mac/linux中vim永远显示行号、开启语法高亮

步骤1: cp /usr/share/vim/vimrc ~/.vimrc 先复制一份vim配置模板到个人目录下 步骤2: vi ~/.vimrc 进入insert模式,在最后加二行 syntax on set nu! 保存收工. 最后附上其它选项(从网上淘来的) set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限 set nu!                                    "显示行号 set

vim显示行号、语法高亮、自动缩进的设置

在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc 在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc 在Red Hat Linux 中vim的配置文件存放在/etc目录中,配置文件名为vimrc set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限     set nu!                                    "显示行号 set