c***n 发帖数: 921 | 1 A table has attribute id, qty(数量), month, year
e.g. id101, 5000, 3,2008
How to calculate the sum qty between 2007, 4 and 2008.3 ?
select sum(qty) from A where .....? | j*****n 发帖数: 1781 | 2 You have the answer in your privious question!
Why don't you make a turn, dude?
SELECT sum(qty)
FROM A
WHERE (year*100+moth) BETWEEN 200704 AND 200803 | B*****g 发帖数: 34098 | 3 顶
【在 j*****n 的大作中提到】 : You have the answer in your privious question! : Why don't you make a turn, dude? : SELECT sum(qty) : FROM A : WHERE (year*100+moth) BETWEEN 200704 AND 200803
| c***n 发帖数: 921 | 4 好吧. 这让我想到是否我应该把原来的date变成MONTH AND YEAR. 这样换来换去挺麻烦
. 如果只有一个date, e.g. "200603", 那么
SELECT sum(qty)
FROM A
WHERE date BETWEEN '200704' AND '200803'
就行了.
从performance 和 一般的table 创建经验来讲, 您认为哪种定义比较好呢?
我这个project要计算'200704' AND '200803'(到目前1年的); '200801' AND '200803'
(今年的); '200803' AND '200803'(2008年3月份的总计), .....
从table 创建和maintain的角度将, 似乎应该用month and year, 就好比first name,
last name 用2个attribute 一样.
【在 j*****n 的大作中提到】 : You have the answer in your privious question! : Why don't you make a turn, dude? : SELECT sum(qty) : FROM A : WHERE (year*100+moth) BETWEEN 200704 AND 200803
| B*****g 发帖数: 34098 | 5 have 3 columns.
M&Y Year Month
200803'
,
【在 c***n 的大作中提到】 : 好吧. 这让我想到是否我应该把原来的date变成MONTH AND YEAR. 这样换来换去挺麻烦 : . 如果只有一个date, e.g. "200603", 那么 : SELECT sum(qty) : FROM A : WHERE date BETWEEN '200704' AND '200803' : 就行了. : 从performance 和 一般的table 创建经验来讲, 您认为哪种定义比较好呢? : 我这个project要计算'200704' AND '200803'(到目前1年的); '200801' AND '200803' : (今年的); '200803' AND '200803'(2008年3月份的总计), ..... : 从table 创建和maintain的角度将, 似乎应该用month and year, 就好比first name,
| j*****n 发帖数: 1781 | 6 你的 project 不需要 day?
anyway, 根据你说的情况来说,我觉得用一个 date 比较好,这样便于建 index, 而且
不用 function 转的话自然 performace 要好。
bejing 的方法比较适用于 datawarehouse, 想横向和纵向查询都比较方便, 但对于
OLTP 来说就不算太理想。
200803'
,
【在 c***n 的大作中提到】 : 好吧. 这让我想到是否我应该把原来的date变成MONTH AND YEAR. 这样换来换去挺麻烦 : . 如果只有一个date, e.g. "200603", 那么 : SELECT sum(qty) : FROM A : WHERE date BETWEEN '200704' AND '200803' : 就行了. : 从performance 和 一般的table 创建经验来讲, 您认为哪种定义比较好呢? : 我这个project要计算'200704' AND '200803'(到目前1年的); '200801' AND '200803' : (今年的); '200803' AND '200803'(2008年3月份的总计), ..... : 从table 创建和maintain的角度将, 似乎应该用month and year, 就好比first name,
| c***n 发帖数: 921 | 7 Thank both of you.
我这个是个OLAP 的产品. 那我采用北京的意见吧.
【在 c***n 的大作中提到】 : A table has attribute id, qty(数量), month, year : e.g. id101, 5000, 3,2008 : How to calculate the sum qty between 2007, 4 and 2008.3 ? : select sum(qty) from A where .....?
|
|