3

这是我的 MySQL 表的快照:

在此处输入图像描述

是否可以编写查询来获得像输出这样的数据透视表...

在此处输入图像描述

4

2 回答 2

3

像这样的东西怎么样

SELECT url_host,
    SUM(CASE WHEN post_id = -1 THEN 1 ELSE 0 END) as post_id_minus1,
    SUM(CASE WHEN post_id = 0 THEN 1 ELSE 0 END) as post_id_0,
    etc...
FROM    YOUR_TABLE
GROUP BY url_host
于 2012-09-29T11:34:00.270 回答
2

您可以CASE在此使用语句来旋转您的表格。

SELECT  url_host,
        COUNT(CASE WHEN post_ID = -1 THEN 1 ELSE NULL END) Negative_One,
        COUNT(CASE WHEN post_ID = 0 THEN 1 ELSE NULL END) Zero,
        COUNT(CASE WHEN post_ID > 0 THEN 1 ELSE NULL END) Greater_Zero
FROM tableName
GROUP BY url_host

SQLFiddle 演示

于 2012-09-29T11:31:34.080 回答