-1

我有一个名为 info 的 JSON 列,其中包含以下值:

    {"width":"800, "height":"480"}
    {"width":"800, "height":"480"}
    {"width":"768, "height":"480"}

我需要一个 SQL 查询来获得这种格式的输出:

    Label   |Count
    ==============
    800x480, 2
    768x480, 1

其中第二个值表示计数。

我设法做的是提取第一个值和计数:

    select info->>'width' as label, count(info->>'width') from table_name  GROUP BY 1 ORDER BY 2 DESC LIMIT 5

哪个输出:

    Label   |Count
    ==============
    800, 2
    768, 1
4

1 回答 1

1

常规字符串连接应该做到这一点。由于某些原因,如果您()从查询中省略 ,查询将失败。

SELECT (info->>'width') || 'x' || (info->>'width') AS label,
    COUNT(info->>'width')
FROM table_name
GROUP BY 1
ORDER BY 2 DESC
LIMIT 5
于 2014-01-28T14:23:33.847 回答