select min(name) from table

select*fromtablewhereidin(selectmin(id)fromtablegroupbyname)是什么意思??那这样的话我是不是可以理解为他可以完... select * from table where id in (select min(id) from table group by name)

是什么意思??
那这样的话我是不是可以理解为他可以 完成 DISTINCT一样的效果呢??
展开
 我来答
nilaor
推荐于2018-04-11 · TA获得超过903个赞
知道小有建树答主
回答量:537
采纳率:0%
帮助的人:537万
展开全部
这个sql的意思是:查询出同名中ID最小的记录信息
分析方法:
这个是一个嵌套查询的sql语句,一般都需要从最低层的sql来判断条件,而最外层的sql则是告诉你:查询什么。
比如:上面的sql中,最外层的sql为:select * from table
这样,结果为:查询table表中的记录数,返回的数据结构为table的表结构对应的数据。
而低层的sql为:select min(id) from table group by name
意思是:查询出同名中的id最小的值,举例:
ID name desc
1 name1 name1 id = 1的描述
2 name1 name1 id = 2的描述
3 name2 name2 id = 3的描述
子查询的结果为:1,3
最终的结果为:
ID name desc
1 name1 name1 id = 1的描述
3 name2 name2 id = 3的描述

问题补充:那这样的话我是不是可以理解为他可以 完成 DISTINCT一样的效果呢??
--〉回答:DISTINCT的意思是不一样的,使用DISTINCT的话,根据查询的列进行排重,比如说,你只查询一列:name,那么,查询的结果中就是:
name
name1
name2
但是,如果你查询的是ID,name,使用了DISTINCT的话,则结果为:
ID name
1 name1
2 name1
3 name2
不知楼主理解了没有。
(这种补充的问题在这里头进行回答真是不方便啊,如果有什么不理解的可以单独给我留言)
月光光1234
2010-05-15 · TA获得超过322个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:115万
展开全部
这是一个子查询
group by 是分组查询
min(id)是id里面最小的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式