Closed. This question needs details or clarity。它目前不接受答案。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
四年前关闭。
我有一张翻译桌,例如:
|     key        |    language    |    value
----------------------------------------------
|       hi       |      en        |    hello
|       hi       |      es        |    hola
|       delete   |      en        |    value
|       delete   |      es        |    suprimir
|       city     |      en        |
|       city     |      es        |    ciudad

目前有两种语言,但我稍后会补充更多。
我试图找到一个sql查询,它将“key”和concat“language”分组为非空值。
我在找这个输出:
|    key    |   languages   |     translated
---------------------------------------------------
|    hi     |     en,es     |       100%
|   delete  |     en,es     |       100%
|    city   |     es        |       50%

知道吗?

最佳答案

您可以在单个查询中执行此操作

select `key`,
group_concat(
  case when `value` is not null
  then `language`
  else null end) languages,
concat(
  (sum(`value` is not null )/ count(distinct `language`) ) * 100,
  '%') translated
from table1
group by `key`

DEMO

关于mysql - 保持不同的键和concat列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31421716/

10-11 12:47