select cno 借书证号,count(cno) 借书数量 from borrow
group by cno
怎么在借书证号和借书数量中间加个name,之前加过显示cno不明确
select cno 借书证号,name,count(cno) 借书数量 from borrow
group by cno
如果你要在select的结果集里面直接增加name这不符合sql语法规范、select里面的字段除聚合函数外必须出现在group by中
如果你能确定 每个cno对应唯一一个name、那可以先关联查询出name、再group by 例如
select cno 借书证号,name,count(cno) 借书数量 from borrow
inner join student on student.cno=borrow.cno
group by borrow.cno,student.name
如果不能确定每个cno对应唯一一个name、那添加name这个逻辑本身就是有问题的、 加入一个cno对应出两个name、 应该取哪一个?
如果对于上述这种情况没有明确要求、 随便取一个、则可以
sqlserver/oracle/mysql8.0及以上版本
select cno 借书证号,max(name)OVER(partition by borrow.cno) ,count(cno) 借书数量 from borrow
left join student on student.cno=borrow.cno
group by borrow.cno,student.name
mysql8.0以下版本
可以参考
https://blog.csdn.net/zhangyongze_z/article/details/85341488