数据格式:
1 red
2 red
3 red
4 blue
5 blue
6 blue
7 blue
需要查询成这样的结果
1 red
4 blue
不知道这样的sql如何写!~
1 red
2 red
3 red
4 blue
5 blue
6 blue
7 blue
需要查询成这样的结果
1 red
4 blue
不知道这样的sql如何写!~
解决方案 »
- 找出商品在最近2次价格第一次出现的料号、描述、价格、日期
- 大家觉得学数据库最难搞的是什么?
- 前辈请留步耽误你一小会时间
- 〓■如何用Transact-SQL语句来判断远程SQL数据库连接状态是否正常????■〓
- SQL查询语句,条件无效(添加条件跟无条件是一个结果)
- 请问: 如何使用一条SQL语句插入多行数据?
- 帮忙弄个特殊唯一约束功能的触发器
- 求助 这一存储过程就不按正常顺序执行,急待!
- 帮忙看看,关于触发器
- 十万火急!在select语句中如何取出数据时按“字段1”排序以后再按“字段2”排序?
- 为什么SQL2005出生日期是输入后是这样的
- DBCC CheckDB后,发现数据库存在大量的“可能是因为链的链接有问题”,为什么?
from tb
group by color
from tb
group by color
SELECT * FROM TABLE_NAME A WHERE NOT EXISTS
(SELECT * FROM TABLE_NAME B WHERE B.ID<A.ID AND B.COLOUR=A.COLOUR)
declare @tb table([id] int,[color] varchar(4))
insert @tb
select 1,'red' union all
select 2,'red' union all
select 3,'red' union all
select 4,'blue' union all
select 5,'blue' union all
select 6,'blue' union all
select 7,'blue'
select * from @tb t where
not exists(select 1 from @tb where color=t.color and id<t.id)/*
id color
----------- -----
1 red
4 blue(2 行受影响)
*/
a.*
from
tb a
join (select min(ID)ID,color from tb group by color) b on
a.color=b.color
and
a.ID=b.ID
-- Author :fredrickhu(我是小F,向高手学习)
-- Date :2009-09-22 14:56:23
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([id] int,[color] varchar(4))
insert [tb]
select 1,'red' union all
select 2,'red' union all
select 3,'red' union all
select 4,'blue' union all
select 5,'blue' union all
select 6,'blue' union all
select 7,'blue'
--------------开始查询--------------------------
select
a.*
from
tb a
join (select min(ID)ID,color from tb group by color ) b on
a.color=b.color
and
a.ID=b.ID
order by
id
----------------结果----------------------------
/* id color
----------- -----
1 red
4 blue(2 行受影响)*/
SELECT *
FROM TB T
WHERE ID=(SELECT MIN(ID) FROM TB WHERE COLOR=T.COLOR)