資料表中,對上條記錄進行操作

2021-08-25 09:34:38 字數 2313 閱讀 8865

有如下表

客戶** 客戶名稱 單據日期 本期應收 本期應付

01 北京 2004-1-1 1000 0

01 北京 2004-2-1 100 0

01 北京 2004-3-1 0 200

01 北京 2004-4-1 500 200

01 北京 2004-5-1 500 0

02 上海 2004-1-1 0 2000

02 上海 2004-2-1 100 0

02 上海 2004-3-1 0 200

02 上海 2004-4-1 500 200

02 上海 2004-5-1 500 0

我想要得到如下效果:其中(期末餘額=上期期末餘額+本期應收-本期應付)

客戶** 客戶名稱 單據日期 本期應收 本期應付 期末餘額

01 北京 2004-1-1 1000 0 1000

01 北京 2004-2-1 100 0 1100

01 北京 2004-3-1 0 200 900

01 北京 2004-4-1 500 200 1200

01 北京 2004-5-1 500 0 1700

02 上海 2004-1-1 0 2000 -2000

02 上海 2004-2-1 100 0 -1900

02 上海 2004-3-1 0 200 -2100

02 上海 2004-4-1 500 200 -1800

02 上海 2004-5-1 500 0 -1300

設計如下:

create table 表(客戶** varchar(10),客戶名稱 varchar(10),單據日期 datetime,本期應收 int,本期應付 int)

insert 表 select '01 ', '北京 ', '2004-1-1 ',1000,0

union all select '01 ', '北京 ', '2004-2-1 ',100 ,0

union all select '01 ', '北京 ', '2004-3-1 ',0 ,200

union all select '01 ', '北京 ', '2004-4-1 ',500 ,200

union all select '01 ', '北京 ', '2004-5-1 ',500 ,0

union all select '02 ', '上海 ', '2004-1-1 ',0 ,2000

union all select '02 ', '上海 ', '2004-2-1 ',100 ,0

union all select '02 ', '上海 ', '2004-3-1 ',0 ,200

union all select '02 ', '上海 ', '2004-4-1 ',500 ,200

union all select '02 ', '上海 ', '2004-5-1 ',500 ,0

select *,期末餘額=(select sum(本期應收-本期應付) from 表 where 客戶**=a.客戶** and 單據日期 <=a.單據日期)

from 表 a

現在我有乙個表,如下

id 日期   上月累計  

1   2010-5 50

1 2010-6 55

1 2010-7 60

2 2010-6 50

2 2010-7 40

想得到以下效果

id 日期   上月累計  總計

1   2010-5 50    50  

1 2010-6 55    105

1 2010-7 60    165

2 2010-6 50    50

2 2010-7 40    90

sql語句如下

create table t11 (

id int null,

日期 datetime null,

上月累計 int null )

insert into t11

select 1,2010-5, 50

union

select 1,2010-6,55

union

select 1 ,2010-7 ,60

union

select 2 ,2010-6, 50

union

select 2 ,2010-7 ,40

select *,總計=(select sum(上月累計) from t11 where t11.id=a.id and t11.日期<=a.日期 )

from t11 a

結果如下:

MySQL 資料表操作 刪除資料表中的記錄

刪除資料記錄是資料操作中常見的操作,可以刪除表中已經存在的資料記錄。在mysql中可以通過delete語句來刪除資料記錄,該sql語句可以通過以下幾種方式使用 刪除特定資料記錄 刪除所有資料記錄。刪除特定資料記錄 在mysql中刪除特定資料記錄可通過sql語句delete來實現,其語法形式如下 de...

資料表操作

1 建立資料表 create table if not exists table name column name data type,2 檢視資料表 show tables show tables from mysql 3 檢視資料表結構 show columns from tbl name 4 ...

資料表操作

create table 表名 欄位名 型別 約束,欄位名 型別 約束 例 建立學生表,字段要求如下 姓名 長度為10 create table students name varchar 10 例 建立學生表,字段要求如下 姓名 長度為10 年齡 create table students nam...