社区
ASP
帖子详情
紧急请教一个不容易实现的SQL语句!
huagou
2004-08-10 09:09:09
一个表view1里有两个字段id和date,可能有些纪录是重复的。
date是四位年份和两位月份。
id date
1 200312
2 200311
3 200310
4 200307
5 200302
…… ……
现在想查询出 id,date:对于重复的记录,取出其date值的末两位的最大的那条纪录;唯一的纪录则显示该纪录。
...全文
243
24
打赏
收藏
紧急请教一个不容易实现的SQL语句!
一个表view1里有两个字段id和date,可能有些纪录是重复的。 date是四位年份和两位月份。 id date 1 200312 2 200311 3 200310 4 200307 5 200302 …… …… 现在想查询出 id,date:对于重复的记录,取出其date值的末两位的最大的那条纪录;唯一的纪录则显示该纪录。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
胖河马
2004-08-10
打赏
举报
回复
SELECT id, Max(date) FROM 表 GROUP BY id
BubbleInDiamond
2004-08-10
打赏
举报
回复
大灰狼的SQL水平……
上面两句第一句查出了id重复date不重复的语句
第二句根本是错的
mind_1220
2004-08-10
打赏
举报
回复
用刚才的那个Sql不能实现吗?
1 200312
2 200308
3 200310
2 200311
4 200307
3 200307
5 200302
查询结果:
1 200312
2 200311
3 200310
4 200307
5 200302
huagou
2004-08-10
打赏
举报
回复
大灰狼,select distinct ID,MAX(Date) from tabname
这种聚合语句只能返回一条记录。
我想返回每个ID的纪录。
请问有好的方法吗?
mind_1220
2004-08-10
打赏
举报
回复
都说过了date 要用数字类型不然不行! 我觉得上面的语句是没有问题的!
顶多这样
select distinct ID,date from tabname order by date desc
不然这样呢
select distinct ID,MAX(Date) from tabname
huagou
2004-08-10
打赏
举报
回复
谢谢 BubbleInDiamond(钻石里的泡泡)
你说的很对啊,大灰狼的两句都不能得到预定的结果。
huagou
2004-08-10
打赏
举报
回复
谢谢 BubbleInDiamond(钻石里的泡泡)
你说的很对啊,大灰狼的两句都不能得到只能的结果。
BubbleInDiamond
2004-08-10
打赏
举报
回复
楼主的问题有类似的,我没见过一条查询可以解决的,都是使用临时表好象
BubbleInDiamond
2004-08-10
打赏
举报
回复
mind_1220(大灰狼) ( ) 的select distinct ID from tabname order by date desc
如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
select top 1 ID from tabName order by date desc 查询结果1:都是错的
huagou
2004-08-10
打赏
举报
回复
谢谢,大灰狼。但是你的语句不行啊。
我在结果中返回了所有ID对应的(date最大的那条)记录。
uscool
2004-08-10
打赏
举报
回复
呵呵!正如楼上所述,使用distinct就可达到目的!
huagou
2004-08-10
打赏
举报
回复
不要想当然的把id看作是主键,它不过是一个普通字段罢了。
mind_1220
2004-08-10
打赏
举报
回复
或者 select top 1 ID from tabName order by date desc
mind_1220
2004-08-10
打赏
举报
回复
晕 早说嘛
select distinct ID from tabname order by date desc
切忌date为数字类型
xzyan80
2004-08-10
打赏
举报
回复
up
BubbleInDiamond
2004-08-10
打赏
举报
回复
樓主真強,我可是第一次聽說id還重復的(那還叫id嗎)
樓主指的重復是不是說ID號?麻煩大了,不如在程序中實現吧
huagou
2004-08-10
打赏
举报
回复
我错了,不管重复不重复了,我的意思就是 对于一个同一个ID,取出其date值的末两位的最大的那条纪录。
比如:
1 200312
2 200308
3 200310
2 200311
4 200307
3 200307
5 200302
查询结果:
1 200312
2 200311
3 200310
4 200307
5 200302
cdsun
2004-08-10
打赏
举报
回复
搂主的问题表述的有问题
对于重复的记录,取出其date值的末两位的最大的那条纪录;
重复了就意味着一样啊。还会有一个大些??
pipi1269
2004-08-10
打赏
举报
回复
view1的主键是什么,一般数据库是不允许这样的重复数据的,除非你此处的ID和DATE都不是该表的KEY值
mind_1220
2004-08-10
打赏
举报
回复
赫赫
这个还真的有一点难度哈。
我觉得你可以用取差的方法判断它们有多少为不同。
比如:A-B=C 你在判断C的位长。就可以判断A和B相差了多少为 用最大的一个与其他的所有去减,可以判断出谁最大!
但是这个Sql怎么写 我就帮你UP吧。
加载更多回复(4)
asp.net知识库
也论该不该在项目中使用存储过程代替
SQL语句
如何使数据库中的表更有弹性,更易于扩展 存储过程——天使还是魔鬼 如何获取MSSQLServer,Oracel,Access中的数据字典信息 C#中利用GetOleDbSchemaTable获取数据库内表信息...
MS-SQL Server 基础类 -
SQL语句
请教
SQL语句
!!
SQL语句
_关于本条记录某一字段由上条记录的部分内容与本记录部分内容计算而来 棘手问题 關于顯示Money型數據的符號問題 如何修改数据库的名称? 调用dts包,在存储过程中dtsrun 如何写
请教
SQL语句
,...
7天带你玩转Mysql数据库之
SQL语句
您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 七年
SQL语句
编写经验。满满的干货! 在网上找了好多SQL数据库的教程...真正做到面对任何问题能够判断出
SQL语句
是不是能够
实现
,该怎样
实现
。
32 | 为什么还有kill不掉的语句?
在 MySQL 中有两个 kill 命令:
一个
是 kill query + 线程 id,表示终止这个线程中正在执行的语句;
一个
是 kill connection + 线程 id,这里 connection 可缺省,表示断开这个线程的连接,当然如果这个线程有语句正在...
java sqlexception_java.sql.SQLException
java.sql.SQLException: ResultSet is closed是什么错误java.sql.SQLException:ResultSetisclosed是什么错误java.sql.SQLException:ResultSetisclosed是什么错误,需要怎么改搜索更多相关的解决方案:java"target="_...
ASP
28,390
社区成员
357,060
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章