
vb sql 查询
怎样用SQL语句查询呀???我有一个表abc,字段为以下内容:abcd1张三1501张三2101张三3402李四1102李四2203王五1602李四31003王五230....
怎样用SQL语句查询呀???
我有一个表abc,字段为以下内容:
a b c d
1 张三 1 50
1 张三 2 10
1 张三 3 40
2 李四 1 10
2 李四 2 20
3 王五 1 60
2 李四 3 100
3 王五 2 30
....n
我想查询字段c为最大的,且字段A分别为1,2,3....n
最终结果就要要查寻出n条记录,因为每条记录有一个c字段最大的.
像下面3条记录就是我要查询的结果:
a b c d
1 张三 3 40
2 李四 3 100
3 王五 2 30
1、select a,b,max(c),d from abc where <条件>
group by a,b,d
order by a
2、select distinct a,b,c,d from abc order by c desc
distinct 关键字 是取唯一值
整句意思是 查询 在表abc中按c由大到小排序的 a b c d字段,然后取唯一值
1和2查询的结果都为所有的记录。
我就是不想要所有的记录。
3、如果你用的是sql server的话也可以用 top关键字
top 1就是显示前面1个 top 2 就是两行
select top 1 a,b,c,d from abc order by c desc
3 查询的记录只有两条。即只有前两条。
后面的“3 王五 2 30” 没有。不知怎么回事。请高手再帮忙看看。谢谢。
我程序的代码:http://wangshai.go2.icpcn.com/down/a.rar
请高手帮我看看,谢谢了。 展开
我有一个表abc,字段为以下内容:
a b c d
1 张三 1 50
1 张三 2 10
1 张三 3 40
2 李四 1 10
2 李四 2 20
3 王五 1 60
2 李四 3 100
3 王五 2 30
....n
我想查询字段c为最大的,且字段A分别为1,2,3....n
最终结果就要要查寻出n条记录,因为每条记录有一个c字段最大的.
像下面3条记录就是我要查询的结果:
a b c d
1 张三 3 40
2 李四 3 100
3 王五 2 30
1、select a,b,max(c),d from abc where <条件>
group by a,b,d
order by a
2、select distinct a,b,c,d from abc order by c desc
distinct 关键字 是取唯一值
整句意思是 查询 在表abc中按c由大到小排序的 a b c d字段,然后取唯一值
1和2查询的结果都为所有的记录。
我就是不想要所有的记录。
3、如果你用的是sql server的话也可以用 top关键字
top 1就是显示前面1个 top 2 就是两行
select top 1 a,b,c,d from abc order by c desc
3 查询的记录只有两条。即只有前两条。
后面的“3 王五 2 30” 没有。不知怎么回事。请高手再帮忙看看。谢谢。
我程序的代码:http://wangshai.go2.icpcn.com/down/a.rar
请高手帮我看看,谢谢了。 展开
3个回答
展开全部
select distinct a,b,c,d from abc order by c desc
distinct 关键字 是取唯一值
整句意思是 查询 在表abc中按c由大到小排序的 a b c d字段,然后取唯一值
如果你用的是sql server的话也可以用 top关键字
top 1就是显示前面1个 top 2 就是两行
select top 1 a,b,c,d from abc order by c desc
哦,忘记名字了,有两种方法,一是按名字先分组,然后在排序,另一种就是直接按两个排序
1.select top 1 a,b,c,d from abc group by a order by c desc
select distinct a,b,c,d from abc group by a order by c desc
2.select top 1 a,b,c,d from abc order by a,c desc
select distinct a,b,c,d from abc order by a,c desc
distinct 关键字 是取唯一值
整句意思是 查询 在表abc中按c由大到小排序的 a b c d字段,然后取唯一值
如果你用的是sql server的话也可以用 top关键字
top 1就是显示前面1个 top 2 就是两行
select top 1 a,b,c,d from abc order by c desc
哦,忘记名字了,有两种方法,一是按名字先分组,然后在排序,另一种就是直接按两个排序
1.select top 1 a,b,c,d from abc group by a order by c desc
select distinct a,b,c,d from abc group by a order by c desc
2.select top 1 a,b,c,d from abc order by a,c desc
select distinct a,b,c,d from abc order by a,c desc
展开全部
说白了你就是要
每个人的最大的C值是不是'
以a 分组就可以了.
每个人的最大的C值是不是'
以a 分组就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用sql函数max() 加group by 最后在用个order
select a,b,max(c),d from abc where <条件>
group by a,b,d
order by a
select a,b,max(c),d from abc where <条件>
group by a,b,d
order by a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询