首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql如何在表中合并类似的记录

mysql如何在表中合并类似的记录
EN

Stack Overflow用户
提问于 2016-05-24 13:17:56
回答 1查看 49关注 0票数 3

表:

ID /姓名/类型/品味/分数 1/ Cox / apple / good / NULL 2/ Cox / pear / NULL /6 3/ Bob / apple / great / NULL 4/ Rod / pear / NULL /9 5/ King / pear / NULL /3 6/ King / apple / bad / NULL

正如你所看到的:‘苹果’有‘味觉’值,但没有‘分数’‘梨’没有‘味道’价值,但有‘分数’。

我想把它们合并在一起,这样如果两张唱片有相同的“名字”,那么它们就变成了一张唱片,它的“味道”值取自苹果,而“分数”则来自梨。

当使用上面的表时,我想要的输出如下:

ID /姓名/类型/品味/分数

1/ Cox / apple / good /6

3/ Bob / apple / great / NULL

4/ Rod / pear / NULL /9

5/国王/梨/坏/3

我正在使用MySQL和PHP。我想这两种方法都可以完成。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-24 13:24:06

您可以使用条件聚合来完成这个任务:

代码语言:javascript
复制
SELECT min(t.id),t.name,min(t.Type),
       MAX(CASE WHEN t.type = 'apple' then t.taste END) as taste,
       MAX(CASE WHEN t.type = 'pear' then t.Score END) as Score 
FROM YourTable t
GROUP BY t.name
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37414821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档