[英]How to show dynamic data row to data column in mysql or within php?
我有同樣的問題(MySQL 或 PHP 將行轉換為列)[ Mysql MySQL 或 PHP 將行動態轉換為兩列。 但具有不同的標題列格式。
我的數據庫表
我已經完成了這個問題,下面是我的查詢版本:
SELECT GROUP_CONCAT(
'MAX(IF(day(tanggal) = ',
day(tanggal),
', presensi, NULL)) AS `',
tanggal,
'`, '
order by tanggal
) INTO @sql
FROM tableName;
運行查詢時,它顯示通知“查詢執行正常,1 行受影響。 ”,但結果為空,這是該表預期的樣子
創建您的靜態查詢:
select id_pegawai,
max(if(tanggal="2019-06-13", presensi, null)) as "2019-06-13",
max(if(tanggal="2019-06-14", presensi, null)) as "2019-06-14"
from yourtable
group by id_pegawai;
創建動態查詢:
SET @sql = NULL;
SELECT
GROUP_CONCAT(
DISTINCT
CONCAT(
'max(if(tanggal="',
tanggal,
'", presensi, null)) as "',
tanggal,
'"'
)
) into @sql
FROM yourtable;
SET @sql = CONCAT('SELECT id_pegawai, ',
@sql, ' FROM yourtable GROUP BY id_pegawai');
執行您的動態查詢:
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
靈感來自這篇文章: http : //buysql.com/mysql/14-how-to-automate-pivot-tables.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.