摘要:
问题是:数据库有一个表 code,里面有个点击量字段click_num和一个类别字段kind以及其它信息字段,现在要搜出每个类别中点击量最大的那条记录,如果是10个类别,那么结果应该是10条记录,如果最大点击量有两个相同的只要一条。经过N次搜索,N次检测网上的解决SQL语句,终于找到个优雅的而且结果正确的SQL,这个是一个博客作者在Mysql的官方文档里面发现的。禁不住收藏了,以备后用。selectid,kind,click_numfromcodeasawhereclick_num=(selectmax(b.click_num)fromcodeasbwherea.kind=b.kind);特别 阅读全文
摘要:
最近做一个数据库的数据导入功能,发现联合主键约束导致不能导入,原因是源表中有重复数据,但是源表中又没有主键,很是麻烦。经过努力终于解决了,现在就来和大家分享一下,有更好的办法的可以相互交流。有重复数据主要有一下几种情况:1.存在两条完全相同的纪录这是最简单的一种情况,用关键字distinct就可以去掉example: select distinct * from table(表名) where (条件)2.存在部分字段相同的纪录(有主键id即唯一键)如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组example:select * from 阅读全文