社区
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值的末两位的最大的那条纪录;唯一的纪录则显示该纪录。
...全文
228
24
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
24 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
胖河马
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)
相关推荐
32 | 为什么还有kill
不
掉的
语句
?
在 My
SQL
中有两个 kill 命令:
一个
是 kill query + 线程 id,表示终止这个线程中正在执行的
语句
;
一个
是 kill connection + 线程 id,这里 connection 可缺省,表示断开这个线程的连接,当然如果这个线程有
语句
正在...
MS-
SQL
Server 基础类 -
SQL
语句
请教
SQL
语句
!!
SQL
语句
_关于本条记录某一字段由上条记录的部分内容与本记录部分内容计算而来 棘手问题 關于顯示Money型數據的符號問題 如何修改数据库的名称? 调用dts包,在存储过程中dtsrun 如何写
请教
SQL
语句
,...
java
sql
exception_java.
sql
.
SQL
Exception
java.
sql
.
SQL
Exception: ResultSet is closed是什么错误java.
sql
.
SQL
Exception:ResultSetisclosed是什么错误java.
sql
.
SQL
Exception:ResultSetisclosed是什么错误,需要怎么改搜索更多相关的解决方案:java"target="_...
【软件测试工程师面试】分享
一个
面试题总结
这里归纳总结了一些测试工程师常见的面试题,包含网络收集(完善)、个人遇到的、日常讨论等部分,总结为以下十个部分,供大家参考。如有错误的地方,欢迎指正。有更多的面试题或面试中遇到的坑,也希望补充分享。...
你连问问题都
不
会?怎么学编程!!!
只看看过一篇知乎文章:为什么一些程序员很傲慢?看完之后觉得说的挺对的,但也就当个文章看了,自己也是这么经历过来了,
不
管怎样,也能体谅。 直到前几天,
发帖
ASP
微信扫一扫
点击复制链接
分享社区
下载分享明细
2.8w+
社区成员
35.7w+
社区内容
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
帖子事件
创建了帖子
2004-08-10 09:09
社区公告
暂无公告