色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 動態橫表轉縱表

劉姿婷2年前12瀏覽0評論

MySQL數據庫中的橫表就是指豎向排列的數據通過類似于EXCEL中的'行列轉換'操作,將其變更為橫向排列的表格形式。而動態橫表轉置又稱為“動態透視表”,是指在沒有固定列的情況下,將豎向數據轉化為動態的橫向表格形式。這樣可以方便地進行數據的統計和分析。

CREATE PROCEDURE SP_GET_PERSON_RECORDS(IN DATEFROM date, IN DATETO date)
BEGIN
DECLARE SQLString varchar(4000);
DECLARE Rows varchar(250);
DECLARE result varchar(4000);
SET @SQLString = '';
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'MAX(IF(date = ''',
date,
''', COUNT, 0)) AS ',
DATE_FORMAT(date, '%d-%m-%Y')
)
) INTO @Columns 
FROM
person_records
WHERE
date BETWEEN DATEFROM AND DATETO;
SET @SQLString = CONCAT(
'SELECT name, ',
@Columns,
' FROM person_records 
WHERE date BETWEEN ''',
DATEFROM,
''' AND ''',
DATETO, '''
GROUP BY name
');
PREPARE stmt FROM @SQLString;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END

以上代碼中定義了一個存儲過程,用于將給定日期內的人員的記錄轉換為動態的橫向表格形式。通過將記錄行的“日期”列中的不同日期作為“列”的名稱,并使用計數器統計值進行填充,最后將每個人員的匯總轉換到行集中,這個過程實現了橫向表格的轉換。存儲過程接受兩個參數,即DATETFROM和DATETO,其將提取此日期范圍內的所有記錄并生成動態橫向表格。

上一篇mysql 包含
下一篇mysql 動畫