每个月,我都会在名为wp_reports的表中收集数据。 例如,我收集社交媒体统计信息,其中包含以下表格:
------------------------------------------
month | facebook | twitter | linkedin || <-column names
------------------------------------------
Jan 16 | 100 | 200 | 300 || <- row values
Feb 16 | 102 | 202 | 302
按照我们的关键绩效指标的逐步演变,这很有用。
但是,我现在想要显示特定于上个月的数据。 我有一个库,可以从SQL请求生成饼图。
我希望我的请求结果为:
-----------
label | value
-------------
Facebook | 102
Twitter | 202
LinkedIN | 302
这会使我的所有页面都有效。
问题在于我无法找到正确的查询。
我有以下一个将列名称作为标签进行检索:
SELECT
CASE
WHEN column_name = 'twitter' THEN 'Twitter'
WHEN column_name = 'linkedin' THEN 'LinkedIn'
ELSE 'Facebook'
END
as label
FROM information_schema.columns
WHERE table_name='wp_report' AND column_name IN ('facebook', 'twitter', 'linkedin')
我现在想知道如何将它与名为“value”的列合并,该列将包含匹配的数字。
如果我可以将以下查询的结果作为名为“value”的列旋转,那就太棒了:
'SELECT newsletter, facebook, twitter, gplus, linkedin FROM wp_report ORDER BY date DESC LIMIT 1'
感谢您的帮助。
答案 0 :(得分:0)
您可以使用以下查询: -
select 'Facebook' label,facebook value from wp_reports where month='JAN'
UNION ALL
select 'Twitter' label,Twitter value from wp_reports where month='JAN'
UNION ALL
select 'LinkedIn' label,LinkedIn value from wp_reports where month='JAN';