关于#sql#的问题,如何解决?

下面两条sql按理来说执行出来的结果几乎一样,为什么我只有第二条可能偶执行,第一条执行就会报错,求解答(按照别人视频来敲的,视频都可以执行,我有很多代码执行就会出错)。
求有能者解答解答,不然法学下去了,写出来的都不知道对不对


select
    s.s_id,
    s.s_name,
    count(a.c_id) count_s,
    sum(a.s_score) sum_s
from
    score a
inner join
    student s
on
    s.s_id = a.s_id
group by 
    a.s_id;
-------------------------------------------------------------------------------------
select
    b.s_id,
    b.s_name,
    count(a.c_id) count_s,
    ifnull(sum(a.s_score),0) sum_s
from
    score a
right join
    student b
on
    b.s_id = a.s_id
group by 
    b.s_id,
    b.s_name;

下面是表

img

下面是报错信息

0    127    15:56:44    select
  s.s_id,
     s.s_name,
  count(a.c_id) count_s,
     sum(a.s_score) sum_s
 from
  score a
 inner join
     student s
 on
  s.s_id = a.s_id
 group by 
  a.s_id
 LIMIT 0, 1000    Error Code: 1055. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'timedata.s.s_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by    0.000 sec

img

那个视频里面执行第一条sql不会报错。

和楼上一样,你第一次sql中要么把select中s.s_name去掉,要么在group by 中加上s.s_name