首页 新闻 搜索 专区 学院

SQL中显示唯一标识数据库表中的每条记录

0
悬赏园豆:5 [已关闭问题] 关闭于 2014-03-28 10:17

查询同字段相同记录大于或等于1的记录,并每一类只显示一个的查询

 join关联后查询的结果

如上图,这个表是查询结果,上图是查询结果:
SELECT     TOP (100) PERCENT 表1.F_iID, ……
FROM         表1 INNER JOIN 表2
ON 表1.F_sAddress =表2.address
ORDER BY 表1.F_iID

在这个查询结果的基础上,想让F_iID为2、3、6……的记录只有一条,就是当有多条记录时显示唯一一条记录,除了F_iID字段,其他字段也要,改变的只是行数
怎么实现?

问题补充:

我自己的回答只是暂时先用来作为一个比较好的解决方法吧!

我觉得应该有更理想的解决方法,学习中,希望大家给给意见、建议~~~

自己解决:
SELECT np.F_sName,left( substring(np.F_sName,charindex('%',np.F_sName)+1,len(np.F_sName)) ,
patindex('%[0-9(]%',substring(np.F_sName,charindex('%',np.F_sName)+1,len(np.F_sName) )+'0' )-1 ) AS shortname,np.F_iid
--去掉前后的12%(浓度百分比)之类的对象
FROM nzProduct np
WHERE np.F_iid IN(
SELECT DISTINCT(ns.F_iRes) FROM nzSaleRecord ns )
用其他表格的数据来限制,我的知识有限,无法判断谁的答案较好。谢谢

办幼儿园+国家电网1亿的主页 办幼儿园+国家电网1亿 | 菜鸟二级 | 园豆:227
提问于:2013-05-15 17:08
< >
分享
所有回答(3)
0

先查出重复数据的最大或最小ID号  再直接查ID在那个范围就可以了

放哨De老鼠 | 园豆:202 (菜鸟二级) | 2013-05-15 17:47
0

问题简介点就是:分组取每组第一条。百度下,方法很多的。

yyutudou | 园豆:997 (小虾三级) | 2013-05-15 21:45
0

select * from A

where A.id in

(select min(a.id) from a

group by a.term)

办幼儿园+国家电网1亿 | 园豆:227 (菜鸟二级) | 2013-07-23 14:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册