0
推荐
5523
阅读

MySQL类似FOR XML PATH()的函数:GROUP_CONCAT

用过MSSQL的都知道一个函数:FOR XML PATH(),可以根据GROUP BY后面的分组字段,将指定字段的值按照约定的符号(比如逗号)分割开后,放在一个字段里。那么MySQL有吗?今天很高兴找到了一个类似的函数:GROUP_CONCAT,下面我们来看看它的能耐:表结构及数据如下:现在想按照sex字段group by,然后将所有的name_ch通过逗...

发表了文章 • 2015-11-12 10:06 • 0 条评论

1
推荐
3473
阅读

MySQL类似Merge的语法:ON DUPLICATE KEY UPDATE

表结构如下:create table test.t2 ( id int primary key not null, col int not null )engine=myisam default charset=gbk;如果执行下面的代码:insert into test.t2 ( id, col ) values (1,1); 由于id列为主键一定会报错。但是当我们在后面加上ON DUPLICATE KEY UPDATE,会怎么样呢?insert into test.t2 ( id,...

发表了文章 • 2015-11-10 10:55 • 3 条评论

0
推荐
8630
阅读

MySQL分组按序取每组第一条的特殊用法

在MSSQL2008及以上版本中,如果我们需要分组按序取每组第一条数据的话,可以使用CTE配合ROW_NUMBER() OVER(PARTITION BY ORDER BY)来处理,也可以使用NOT EXISTS的方式,再传统点可以使用子查询,最近在使用MySQL中发现居然可以这么写:表结构及内容如下:需求:按照sex分组,取birth_date最早一条记录。结果应该是ID=4...

发表了文章 • 2015-11-03 17:22 • 1 条评论