sql查询中如何用group by查询出完整的一行记录?

table有如下字段:idnamenicknameemailschooluploadtime我现在要查的是每个school下最大的uploadtime数据要求查出该数据对... table有如下字段:id name nickname email school uploadtime
我现在要查的是每个school下最大的uploadtime数据 要求查出该数据对应的完整记录
我用select school,max(uploadtime) from table group by school只能查出两列字段 我现在要查询这两列字段对应的完整记录 就是要把id name nickname email都查出来 而且id name nickname email不作为分组条件
该怎么查?我如果用select id,name,nickname,email,school,max(uploadtime) from table group by school的话会查出错误的id name nickname email 信息就是把错误的id name nickname email和max(uploadtime)相结合
展开
 我来答
百度网友785e742
推荐于2017-12-16 · 超过12用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:18.8万
展开全部
selct * from table where uploadtime=max(uploadtime) group by school
这条语句能把uploadtime最大的那一条数据查出来
select * 就是查出所有的数据,你再用where=* 过滤指定一下你要查数据的条件。

关于你的语句{
select id,name,nickname,email,school,max(uploadtime) from table group by school }

这段代码只是随意查了个id,name等信息,但是不是max(uploadtime)对应的,你改成
{select id,name,nickname,email,school,uploadtime where uploadtime=max(uploadtime) from table group by school }

不知道你问的是不是这个意思
更多追问追答
追问
  1. Invalid use of group function错误

  2. 如果多个school下都有同样的uploadtime且其中的一些uploadtime并不是该school分组下最大的该怎么办

追答
select id,name,nickname,email,school,uploadtime from table where uploadtime in (select max(uploadtime) from table  group by school) 

上面写错了,误导你了不好意思
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式