Oracle 行转列 的写法: /* DROP TABLE FOO; */ /**创建一张演示的表**/ CREATE TABLE FOO ( BBBID NUMBER(2), --主键
Oracle 行转列 的写法:
/*
DROP TABLE FOO;
*/
/**创建一张演示的表**/
CREATE TABLE FOO (
BBBID NUMBER(2), --主键
DEPID NUMBER(2), --单位编号
AAC006 VARCHAR2(1) --性别 1男 2女 0未知
CONSTRAINT CK_AAC006 CHECK (AAC006 = '1' OR AAC006 ='2' OR AAC006 ='0')
);
/**插入用于测试的数据**/
INSERT INTO FOO VALUES(1,1,'1');
INSERT INTO FOO VALUES(2,1,'0');
INSERT INTO FOO VALUES(3,1,'2');
INSERT INTO FOO VALUES(4,1,'2');
INSERT INTO FOO VALUES(5,2,'1');
INSERT INTO FOO VALUES(6,2,'0');
INSERT INTO FOO VALUES(7,2,'2');
INSERT INTO FOO VALUES(8,2,'2');
INSERT INTO FOO VALUES(9,3,'2');
INSERT INTO FOO VALUES(10,3,'2');
INSERT INTO FOO VALUES(11,3,'2');
/**
目标:对该表进行行转列,要得到如下结果集:
depid 男 女 未知
1 2
1 2
0 3
*/
/**原始的数据**/
SELECT * FROM FOO;
/**按照性别码表取值,将FOO.AAC006转化为3列之后的值**/
SELECT DEPID,
DECODE(AAC006,'0',1,0) "男",
DECODE(AAC006,'1',1,0) "女",
DECODE(AAC006,'2',1,0) "未知"
FROM FOO;
/**在上一个结果集上进行加工,就得到行转列的结果!**/
SELECT DEPID,
SUM(DECODE(AAC006,'0',1,0)) "男",
SUM(DECODE(AAC006,'1',1,0)) "女",
SUM(DECODE(AAC006,'2',1,0)) "未知"
FROM FOO
GROUP BY DEPID;
/**
总结(czw 20120624):
行转列,,其实就是将某一个字段,按照码值拆分为若干个字段,最后通过聚集函数得到相应的值。
**/

MySQL processes data replication through three modes: asynchronous, semi-synchronous and group replication. 1) Asynchronous replication performance is high but data may be lost. 2) Semi-synchronous replication improves data security but increases latency. 3) Group replication supports multi-master replication and failover, suitable for high availability requirements.

The EXPLAIN statement can be used to analyze and improve SQL query performance. 1. Execute the EXPLAIN statement to view the query plan. 2. Analyze the output results, pay attention to access type, index usage and JOIN order. 3. Create or adjust indexes based on the analysis results, optimize JOIN operations, and avoid full table scanning to improve query efficiency.

Using mysqldump for logical backup and MySQLEnterpriseBackup for hot backup are effective ways to back up MySQL databases. 1. Use mysqldump to back up the database: mysqldump-uroot-pmydatabase>mydatabase_backup.sql. 2. Use MySQLEnterpriseBackup for hot backup: mysqlbackup--user=root-password=password--backup-dir=/path/to/backupbackup. When recovering, use the corresponding life

The main reasons for slow MySQL query include missing or improper use of indexes, query complexity, excessive data volume and insufficient hardware resources. Optimization suggestions include: 1. Create appropriate indexes; 2. Optimize query statements; 3. Use table partitioning technology; 4. Appropriately upgrade hardware.

MySQL view is a virtual table based on SQL query results and does not store data. 1) Views simplify complex queries, 2) Enhance data security, and 3) Maintain data consistency. Views are stored queries in databases that can be used like tables, but data is generated dynamically.

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

MySQL partitioning improves performance and simplifies maintenance. 1) Divide large tables into small pieces by specific criteria (such as date ranges), 2) physically divide data into independent files, 3) MySQL can focus on related partitions when querying, 4) Query optimizer can skip unrelated partitions, 5) Choosing the right partition strategy and maintaining it regularly is key.

How to grant and revoke permissions in MySQL? 1. Use the GRANT statement to grant permissions, such as GRANTALLPRIVILEGESONdatabase_name.TO'username'@'host'; 2. Use the REVOKE statement to revoke permissions, such as REVOKEALLPRIVILEGESONdatabase_name.FROM'username'@'host' to ensure timely communication of permission changes.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Chinese version
Chinese version, very easy to use

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function
