欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql橫豎查詢

錢浩然2年前12瀏覽0評論

MySQL是一種廣泛使用的關系型數據庫管理系統,其在數據查詢和管理方面非常強大。本篇文章將詳細介紹MySQL中橫豎查詢的實現方法。

橫向查詢是將一行中的多個字段轉換成多行的查詢結果,通常使用UNION ALL和CASE WHEN語句實現。例如,我們有如下一張表:

CREATE TABLE `score` (
`student` varchar(10) NOT NULL,
`chinese` int(3) NOT NULL,
`math` int(3) NOT NULL,
`english` int(3) NOT NULL
);

我們可以使用如下的SQL語句實現橫向查詢:

SELECT `student`, 'chinese' AS `subject`, `chinese` AS `score` FROM `score`
UNION ALL
SELECT `student`, 'math' AS `subject`, `math` AS `score` FROM `score`
UNION ALL
SELECT `student`, 'english' AS `subject`, `english` AS `score` FROM `score`;

豎向查詢是將多行中的某些字段轉換成多列的查詢結果,通常使用GROUP BY和SUM、CASE WHEN等聚合函數實現。例如,我們有如下的一張表:

CREATE TABLE `sales` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`date` DATE NOT NULL,
`product` VARCHAR(50) NOT NULL,
`amount` INT(11) NOT NULL,
PRIMARY KEY (`id`)
);

我們可以使用如下的SQL語句實現豎向查詢:

SELECT 
`product`,
SUM(CASE WHEN YEAR(`date`) = '2021' THEN `amount` ELSE 0 END) AS `2021`,
SUM(CASE WHEN YEAR(`date`) = '2020' THEN `amount` ELSE 0 END) AS `2020`,
SUM(CASE WHEN YEAR(`date`) = '2019' THEN `amount` ELSE 0 END) AS `2019`
FROM `sales`
GROUP BY `product`;

綜上所述,MySQL中的橫豎查詢可以通過使用UNION ALL、CASE WHEN、聚合函數等語句實現。這些查詢方法可以幫助我們更好地抽取和分析數據,提高數據轉換和處理的效率。