mysql生成行號 MySQL生成行號

2021-10-17 13:03:12 字數 2481 閱讀 4756

引言

在mysql資料庫使用過程中,發現沒有像db2那樣方便能自動生成行號,於是通過網路查閱資料,現整理如下,方便以後自己查閱.

建立資料庫

create database -- 建立資料庫

if not exists `sql_test` -- 如果不存在就建立,存在就不建立

default charset utf8 -- 設定預設字符集為utf-8

collate utf8_general_ci;-- 設定資料庫排序規則 utf8_general_ci

use `sql_test`;

建立表-- 建立測試表

create table s_t1(

tid varchar(10) not null primary key,

root varchar(10),

child varchar(10)

插入測試資料

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0110','a','a1');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0024','a','a2');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0027','a','a3');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0028','a','a4');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0021','b','b1');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0003','b','b2');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0006','b','b3');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0001','b','b4');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0013','b','b5');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0101','c','c1');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0007','c','c2');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0002','c','c3');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0033','d','d1');

insert into `s_t1` (`tid`, `root`, `child`) values('sort_0035','d','d2');

生成行號

select

@r:=@r+1 as rounum,

a.*from

s_t1 a,

(select @r:=0) b

結果:

按組生成行號

-- 方法1 先篩選資料,在編寫序號

select

@root_no:=case when @root_val=a.`root` then @root_no+1 else 1 end as rootno,

@root_val:=a.`root` as rootval,

a.`child`

from

select * from s_t1 group by root,child

) a,(select @root_no:=1,@root_val:='') b

-- 方法2 在刪選資料的同事編寫序號

select

@group_row:=case when @parent_code=a.root then @group_row+1 else 1 end as grouprow,

@parent_code:=a.`root` as parent_code,

a.`child`

from s_t1 a ,( select @group_row:=1, @parent_code:='') as b

order by a.`root` , a.child

結果:

以上就是mysql中生成行號的方法,不知道還有沒有更簡單的

WPF DataGrid自動生成行號

在使用wpf進行應用程式的開發時,經常會為datagrid生成行號,這裡主要介紹一下生成行號的方法。通常有三種方法,這裡主要介紹其中的兩種,另一種簡單提一下。1.直接在loadingrow事件中操作。這種方式是在code behind檔案中操作。即相應的 xaml.cs檔案。如下 this.data...

WPF DataGrid自動生成行號

在使用wpf進行應用程式的開發時,經常會為datagrid生成行號,這裡主要介紹一下生成行號的方法。通常有三種方法,這裡主要介紹其中的兩種,另一種簡單提一下。1.直接在loadingrow事件中操作。這種方式是在code behind檔案中操作。即相應的 xaml.cs檔案。如下 this.data...

mysql 行號 mysql的行號問題

1 行號問題行號是指按順序為查詢結果集的行分配的連續整數。mysql資料庫在行號方面的支援並不是十分友好,沒有橡其他資料庫一樣提供類似的row number解決方案,因此得到行號是乙個十分有技巧的問題。2.1 不重複資料分析問題先看以下例項資料,建立sales表 create table sales...