想知道我是否有来自查询的下表
SELECT kodnegeri.KodNegeriText AS Negeri, kategorisukan.KategoriSukantext AS Kategori,
COUNT(*) AS Total
FROM association
INNER JOIN kodnegeri ON association.KodNegeri = kodnegeri.KodNegeri
INNER JOIN kategorisukan ON association.KodKategoriSukan = kategorisukan.KategoriSukan
GROUP BY kodnegeri.KodNegeriText, kategorisukan.KategoriSukantext
如何将查询直接提供给Google柱形图,如下例所示:
据我所知,柱形图数据格式要求第一列为字符串类型和剩余的类型编号。我还做了一些只包含两列的图表,所以没有问题。
array('label' => 'Tahun', 'type' => 'string'),
array('label' => 'Jumlah Persatuan', 'type' => 'number')
任何人都可以帮助如何生成这样的图形,如每年显示的示例(在我的情况下是Negeri),还有一些其他数据(即:国家,而在我的情况下是Kategori)
答案 0 :(得分:1)
您需要透视数据,以便每个“Kategori”都是自己的数据列。 MySQL本身不支持pivot,但你可以像这样伪造它们:
SELECT
kodnegeri.KodNegeriText AS Negeri,
SUM(IF(kategorisukan.KategoriSukantext = 'Sukan Kecergasan', 1, 0)) AS Sukan_Kecergasan,
SUM(IF(kategorisukan.KategoriSukantext = 'Sukan Paralimpik', 1, 0)) AS Sukan_Paralimpik,
SUM(IF(kategorisukan.KategoriSukantext = 'Sukan Prestasi Tinggi', 1, 0)) AS Sukan_Prestasi_Tinggi,
SUM(IF(kategorisukan.KategoriSukantext = 'Sukan Recreasi', 1, 0)) AS Sukan_Recreasi,
SUM(IF(kategorisukan.KategoriSukantext = 'Sukan Seni Mempertahankan Diri', 1, 0)) AS Sukan_Seni_Mempertahankan_Diri,
SUM(IF(kategorisukan.KategoriSukantext = 'Sukan Tradisional', 1, 0)) AS Sukan_Tradisional
etc...
FROM association
INNER JOIN kodnegeri ON association.KodNegeri = kodnegeri.KodNegeri
INNER JOIN kategorisukan ON association.KodKategoriSukan = kategorisukan.KategoriSukan
GROUP BY kodnegeri.KodNegeriText
您需要为kategorisukan.KategoriSukantext
的每个可能值添加一列(并检查代码以确保我没有拼错)。