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

mysql語句行轉列關鍵字

傅智翔1年前8瀏覽0評論

在使用MySQL語句進行數據查詢時,有時候我們需要把多行數據轉換成一行顯示。這時我們就需要用到行轉列的關鍵字。接下來我會為大家介紹將行數據轉換成列數據的方法。

首先我們需要在MySQL中創建一張示例表來演示。我們可以用下面的CREATE TABLE語句來創建這張表:

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`gender` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

接下來,我們可以向表格中插入一些樣本數據:

INSERT INTO `test` (`name`, `age`, `gender`) VALUES
('Tom', 18, 'Male'),
('Jerry', 17, 'Male'),
('Alice', 19, 'Female'),
('Bob', 20, 'Male'),
('Cathy', 21, 'Female');

現在我們已經創建了示例表,并且向其中插入了數據。接下來,我們就可以將行數據轉換成列數據了。下面的代碼可以幫助我們實現該功能:

SELECT
MAX(CASE WHEN `name` ='Tom' THEN `age` ELSE NULL END) AS `Tom`,
MAX(CASE WHEN `name` ='Jerry' THEN `age` ELSE NULL END) AS `Jerry`,
MAX(CASE WHEN `name` ='Alice' THEN `age` ELSE NULL END) AS `Alice`,
MAX(CASE WHEN `name` ='Bob' THEN `age` ELSE NULL END) AS `Bob`,
MAX(CASE WHEN `name` ='Cathy' THEN `age` ELSE NULL END) AS `Cathy`
FROM `test`;

上面代碼中,我們使用了MAX函數與CASE語句進行數據的處理。我們首先使用CASE語句來確定行中的值,再使用MAX函數把這些值進行比較,從而得到轉換后的列數據。執行上面的代碼,我們會得到以下結果:

Tom    Jerry    Alice    Bob    Cathy
18     17       19       20     21

這就是我們將行數據轉換成列數據的方法。以上就是整個過程,希望對大家有所幫助。