表 spot
id为自增 主键
spotid不唯一(一个SPOTID 可能会对应多个spotname)
我这里用ID做唯一标识
id spotid spotname
.....
.....出现这种情况:
不同的id,不同的spotid,拥有同样的spotname 我要的结果:
去掉spotname相同的项
SQL
id为自增 主键
spotid不唯一(一个SPOTID 可能会对应多个spotname)
我这里用ID做唯一标识
id spotid spotname
.....
.....出现这种情况:
不同的id,不同的spotid,拥有同样的spotname 我要的结果:
去掉spotname相同的项
SQL
解决方案 »
- |javamy| 我有一个表字段设置了为不允许为空,但我现在要插入空值,我可以在SQL界面里“允许为空”勾上,但如何用语句来执行 谢谢
- 关于sp_executesql的使用。
- sql server 2005查询结果 导出为EXCEL
- 我安装完了SQL Server 2005后屏幕右下角没有服务器图标呢?
- 看看我对sql server的windows验证模式的理解对么?
- 请教一下INSERT INTO问题
- 日期加减问题
- sql server 如何增加连接数
- 如何连接有密码的ACCESS文件
- 问一个关于SQL-SERVER简单的问题
- 菜鸟求助,text类型的字段有必要拆分出去新建一个表吗?
- 这种SQL怎么写呢?大家有什么好的想没有?
1 1 a
2 2 a
3 4 a那你希望的结果是如何?
1 1 a
2 2 a
3 4 a
4 11 b
5 12 b
6 14 btoid spotid spotname
1 1 a
4 11 b
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2013-05-15 15:27:42
-- Version:
-- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
-- Jun 17 2011 00:54:03
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1, v.721)
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go
create table [huang]([id] int,[spotid] int,[spotname] varchar(1))
insert [huang]
select 1,1,'a' union all
select 2,2,'a' union all
select 3,4,'a' union all
select 4,11,'b' union all
select 5,12,'b' union all
select 6,14,'b'
--------------开始查询--------------------------
SELECT *
FROM [huang] a
WHERE EXISTS (SELECT 1 FROM (
select MIN(id)id,[spotname]
from [huang]
GROUP BY [spotname])b WHERE a.id=b.id AND a.[spotname]=b.[spotname])
----------------结果----------------------------
/*
id spotid spotname
----------- ----------- --------
1 1 a
4 11 b
*/