select * from table group by name
答案:5 悬赏:40 手机版
解决时间 2021-03-08 04:18
- 提问者网友:树红树绿
- 2021-03-07 06:17
这个话的意思是不是可以返回不重复数据
最佳答案
- 五星知识达人网友:酒醒三更
- 2021-03-07 07:35
一、这种写法的话,除非 table表里只有name一个字段,否则这种写法会报错。
二、用select [name] from table group by name 这种写法可以返回不同值,当然也可以用 select distinct [name] from table 语句返回不同值
二、用select [name] from table group by name 这种写法可以返回不同值,当然也可以用 select distinct [name] from table 语句返回不同值
全部回答
- 1楼网友:老鼠爱大米
- 2021-03-07 11:49
不是,意思是按照姓名分组后返回表中所有数据。
- 2楼网友:摆渡翁
- 2021-03-07 10:24
返回不重复的数据用select distinct * from table ;
select * from table group by name意思是返回表table 中所有数据并按照name分组
- 3楼网友:一叶十三刺
- 2021-03-07 09:42
刚看错了,上面的是对的,返回不重复的数据用select distinct * from table group by name
这句才是你想要的不重复数据
- 4楼网友:不甚了了
- 2021-03-07 08:19
这个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
不知楼主理解了没有。
(这种补充的问题在这里头进行回答真是不方便啊,如果有什么不理解的可以单独给我留言)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯