sql表达问题:在一个数据表中有N条记录其中有字段“编号“和“日期“我要查找各个编号中最大的日期记录

wzs 2000-12-23 09:41:00
注:编号是不能重复且日期是最大的。
...全文
273 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxtyhy 2000-12-25
  • 打赏
  • 举报
回复
SELECT id, max(date1)
FROM test
GROUP BY id
注意id, date1 是字段名,不可用date
wzs 2000-12-25
  • 打赏
  • 举报
回复
我现在又加上20分为别的一个问题:为什么我用update table set string_field=string_field+'my home' 这样它运行会出现这样的错误,string or binary data would be truncated
按常理这只是字符运算而以,但如果我把它改成这样string_field='test'+'ok'这样就可以,如果另外字段是int类型的它就可以这样来运算。这是为什么?
wzs 2000-12-25
  • 打赏
  • 举报
回复
谢谢大家的回答。ePing的回答意向是对的但所列出的结果只是一条记录,我要的是全部不同且日期是每个重复编号的最大日期。(注:“日期“字段百PEACOCK所说的DATE字段名随便,只不过是一个标志而以)
peacock 2000-12-23
  • 打赏
  • 举报
回复
to wzs:
你把字段date改个别名字!
nononono 2000-12-23
  • 打赏
  • 举报
回复
?
ePing 2000-12-23
  • 打赏
  • 举报
回复
To kosisiyo:
用你这种方式会产生
Server: Msg 8118, Level 16, State 1, Line 1
Column 'test.no' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

三少 :o)
kosisiyo 2000-12-23
  • 打赏
  • 举报
回复
select distinct no,max(date) from test
ePing 2000-12-23
  • 打赏
  • 举报
回复
create table test
(No int, Date Datetime)
下面是他的记录
No Date
----------- ---------------------------
1 2000-12-31 00:00:00.000
34 1999-04-05 00:00:00.000
3 2001-09-04 00:00:00.000
3 2002-09-04 00:00:00.000

Sql语句 :
select max(date) from
(select distinct(no), date from test) t

good luck

三少 :o)
nononono 2000-12-23
  • 打赏
  • 举报
回复
难道要的是这个:

select 编号,max(日期) from tablename group by 编号


5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧