Maison > Questions et réponses > le corps du texte
J'ai vu une question d'entretien postée par quelqu'un d'autre dans le groupe, =. =, comment interroger ?
黄舟2017-06-22 11:56:36
L'image du titre est en chinois, cliquez ici.
Cas déterminé par le cours :
Mise en œuvre du CASE :
SELECT
`Name`,
MAX(
CASE
WHEN Course = 'Chinase' THEN
Score
END
) AS Chinase,
MAX(
CASE
WHEN Course = 'Math' THEN
Score
END
) AS Math,
MAX(
CASE
WHEN Course = 'English' THEN
Score
END
) AS English
FROM
table1
GROUP BY
`Name`
Mise en œuvre du SI :
SELECT
`Name`,
SUM(IF (Course = 'Chinase', Score, 0)) AS Chinase,
SUM(IF (Course = 'Math', Score, 0)) AS Math,
SUM(IF (Course = 'English', Score, 0)) AS English
FROM
table1
GROUP BY `Name`
Le cours n'est pas sûr, utilisez la dynamique :
SET @CC='';
SELECT @CC:=CONCAT(@CC,'SUM(IF(Course=\'',Course,'\'',',Score,0)) AS ',Course,',') FROM (SELECT DISTINCT Course FROM table1) A;
SET @HH=CONCAT('SELECT Name,',LEFT(@CC,LENGTH(@CC)-1),' FROM table1 GROUP BY Name');
PREPARE stmt FROM @HH;
EXECUTE stmt;
大家讲道理2017-06-22 11:56:36
select name, sum(case when Course='Chinese' then Score end) as Chinese,
sum(case when type='Math' then Score end) as Math,
sum(case when type='English' then Score end) as English
from table1
group by name
PHP中文网2017-06-22 11:56:36
Vous devriez apprendre le principe
Baidu "conversion de colonne de ligne mysql"
Il est inutile d'apprendre uniquement ce SQL
扔个三星炸死你2017-06-22 11:56:36
Ce type de SQL magique est utilisé lors de l'élaboration de statistiques de données, ce qui n'est généralement pas utilisé dans le travail PHPer.