Redian新闻
>
请教:如何从group里面拿到最后一个record的全部数据(MS SQL)
avatar
请教:如何从group里面拿到最后一个record的全部数据(MS SQL)# Database - 数据库
A*L
1
我有一组数据,大概两万多行,每行结构比如是:
ZoneNumber, City, Price, Eff_Date
每天这个zone里面的每个城市都会有新的材料价格出现,我想拿到的是当天最后的价格
,比如
10001, NYC, 4.153, 08/07/2008
10001, NYC, 4.145, 08/07/2008
10001, NYC, 4.123, 08/07/2008
10001, NYC, 4.154, 08/07/2008
10001, NYC, 4.123, 08/07/2008
10001, NYC, 4.123, 08/08/2008
10001, NYC, 4.154, 08/08/2008
10001, NYC, 4.133, 08/08/2008
那我想获得的是
10001, NYC, 4.123, 08/07/2008
10001, NYC, 4.133, 08/08/2008
请教一下,我这个query该怎么写。遗憾的是MS SQL里面没有Last。感觉有点复杂,我
一时没有好的解决办法。希望高手不吝赐教。谢谢!
avatar
j*7
2
How can we know which row is the last per day? The eff_Date is only a date.
Consider to have a primary key and include a DateTime column.
avatar
A*L
3
That is the hardest part .......
There is no primary key, and I got those columns from IT who pulled the
records from SAP db by sequence.
I assume the records are in the input sequence. Any system record row number
can be applied?
Thanks!

.

【在 j*******7 的大作中提到】
: How can we know which row is the last per day? The eff_Date is only a date.
: Consider to have a primary key and include a DateTime column.

avatar
v*d
4
如果是文本,記錄是有順序的,可以用某些sort工具實現
如果是數據庫,記錄物理存放應該是沒有順序的
如果你得到的是by sequence的,那麽進入數據庫的時候,加個sequence#

number

【在 A*L 的大作中提到】
: That is the hardest part .......
: There is no primary key, and I got those columns from IT who pulled the
: records from SAP db by sequence.
: I assume the records are in the input sequence. Any system record row number
: can be applied?
: Thanks!
:
: .

avatar
A*L
5
谢谢!
我现在没有办法加sequence #,拿到的数据就像我前面叙述的那样。
是否需要create temporary table 来实现?

【在 v******d 的大作中提到】
: 如果是文本,記錄是有順序的,可以用某些sort工具實現
: 如果是數據庫,記錄物理存放應該是沒有順序的
: 如果你得到的是by sequence的,那麽進入數據庫的時候,加個sequence#
:
: number

avatar
v*d
6
還沒明白麽?
你拿到的數據是文本還是在數據庫中?
是文本,順序就是可以解決的,自己加都很容易
是數據庫,就是impossible,沒有根據說哪一條是最後的

【在 A*L 的大作中提到】
: 谢谢!
: 我现在没有办法加sequence #,拿到的数据就像我前面叙述的那样。
: 是否需要create temporary table 来实现?

avatar
A*L
7
确实没有,我刚刚说了,我assume在数据库物理存储的就是by sequenced的了
估计那个table肯定有sequenced the primary key,但是IT没有给我,我又不愿意等他
们再去重新获得一次数据。
你现在就假设有这个顺序了,假设我现在create了一个新的column就是row_number,高
手能写一个简单的query,让我从每个zoon的每个city的每个eff_time组里面拿到最大
的row_number的那一行的数据吗?
谢谢!

【在 v******d 的大作中提到】
: 還沒明白麽?
: 你拿到的數據是文本還是在數據庫中?
: 是文本,順序就是可以解決的,自己加都很容易
: 是數據庫,就是impossible,沒有根據說哪一條是最後的

avatar
B*g
8
1. IT给你的是什么?一个文本文件吗?
2. 你的assume是错误的
3. 以前我贴过无数遍了(具体数目请jackrun来回答),这次就不贴了,请google ROW
_NUMBER

【在 A*L 的大作中提到】
: 确实没有,我刚刚说了,我assume在数据库物理存储的就是by sequenced的了
: 估计那个table肯定有sequenced the primary key,但是IT没有给我,我又不愿意等他
: 们再去重新获得一次数据。
: 你现在就假设有这个顺序了,假设我现在create了一个新的column就是row_number,高
: 手能写一个简单的query,让我从每个zoon的每个city的每个eff_time组里面拿到最大
: 的row_number的那一行的数据吗?
: 谢谢!

avatar
A*L
9
不是,IT给了我一个table,是数据库access。不过是从SAP的数据库已经导出来了的。

ROW

【在 B*****g 的大作中提到】
: 1. IT给你的是什么?一个文本文件吗?
: 2. 你的assume是错误的
: 3. 以前我贴过无数遍了(具体数目请jackrun来回答),这次就不贴了,请google ROW
: _NUMBER

avatar
j*n
10

ROW_NUMBER
~~~ I was just want to say: ask Bejing for answer, hehe...
btw, it is good for MS SQL server 2k5 and above version, otherwise you got
to use TOP 1 option.

【在 B*****g 的大作中提到】
: 1. IT给你的是什么?一个文本文件吗?
: 2. 你的assume是错误的
: 3. 以前我贴过无数遍了(具体数目请jackrun来回答),这次就不贴了,请google ROW
: _NUMBER

avatar
B*g
11
最好在access里加autonumber column, 然后reload数据到sql server,然后3

【在 A*L 的大作中提到】
: 不是,IT给了我一个table,是数据库access。不过是从SAP的数据库已经导出来了的。
:
: ROW

avatar
B*g
12
把row_number置底吧。

【在 j*****n 的大作中提到】
:
: ROW_NUMBER
: ~~~ I was just want to say: ask Bejing for answer, hehe...
: btw, it is good for MS SQL server 2k5 and above version, otherwise you got
: to use TOP 1 option.

avatar
j*n
13
support!

【在 B*****g 的大作中提到】
: 把row_number置底吧。
avatar
A*L
14
多谢指导~
我最后是用了ROW_NUMBER创了一个新列,然后into一个temp table里面,
然后用group加nested query获得每个组里面的最后一个的。
可能稍微繁复了一点,不过基本实现功能了,我也就这点追求,呵呵。

的。
google

【在 B*****g 的大作中提到】
: 最好在access里加autonumber column, 然后reload数据到sql server,然后3
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。