sql 查询问题。怎么从表里只查询出一组里的一条数据

查询问题。怎么从表里只查询出一组里的一条数据

假设表T里有以下数据,A,B,C 为字段名

table T

A | B | C |
-------|-------|-------|---
1 | 1 | 1 |
1 | 1 | 2 |
1 | 2 | 1 |
1 | 2 | 3 |
1 | 3 | 4 |

小弟想通过SQL文从中得到以下数据

A | B | C |
-------|-------|-------|---
1 | 1 | 1 |
1 | 2 | 1 |
1 | 3 | 4 |

如果能选择性的得到一组里的第一或最后一行就更好了

A | B | C |
-------|-------|-------|---
1 | 1 | 2 |
1 | 2 | 3 |
1 | 3 | 4 |

先谢谢各位高手了

从表里查询一条数据mysql可以用limit函数。
比如:select * from tb_users limit 0,1 意思是从tb_users表里查询从0开始第一条数据。也可加上一些条件,比如select * from tb_users where name = '张三' limit 0,1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-20
你的数据应该是排序好的吧 或者说有一定的顺序的吧
with T1 as(
select 1 A,1 B,1 C union
select 1 A,1 B,2 C union
select 1 A,2 B,1 C union
select 1 A,2 B,3 C union
select 1 A,3 B,4 C )
select A,B,max(C) from T1
group by A,B
order by A,B
把max换成min就成了取第一行了
第2个回答  2008-08-20
select t.*
from table_t t
group by t.b
having rownum = 1
这是按照b列进行分组,查询出第一行的数据,查最后一行没想出来,不好意思
第3个回答  推荐于2017-09-28
select top(*) from T
--得到第一行的数据本回答被提问者采纳
第4个回答  2008-08-28
select A, distinct(B),C from T