MySQL在select distinct和count中更改标签值
我有以下疑问:MySQL在select distinct和count中更改标签值,mysql,Mysql,我有以下疑问: SELECT DISTINCT GRAD_ACAD, COUNT(GRAD_ACAD) AS subtotal FROM academicos WHERE CCN REGEXP 'I|D65' GROUP BY GRAD_ACAD ORDER BY GRAD_ACAD 哪些结果是: GRAD_ACAD subtotal DOC 11 LIC 2 MTR 3 我要做的是将值标签更改为以下内容: GRAD_ACAD
SELECT DISTINCT GRAD_ACAD,
COUNT(GRAD_ACAD) AS subtotal
FROM academicos
WHERE CCN REGEXP 'I|D65'
GROUP BY GRAD_ACAD
ORDER BY GRAD_ACAD
哪些结果是:
GRAD_ACAD subtotal
DOC 11
LIC 2
MTR 3
我要做的是将值标签更改为以下内容:
GRAD_ACAD subtotal
Doctorado 11
Licenciatura 2
Maestría 3
我试过这样的案例,但无法成功:
SELECT DISTINCT GRAD_ACAD CASE GRAD_ACAD WHEN 'DOC' THEN 'doctorado' ELSE(SELECT GRAD_ACAD) END AS GRAD_ACAD,
COUNT(GRAD_ACAD) AS subtotal
FROM academicos
WHERE CCN REGEXP 'I|D65'
GROUP BY GRAD_ACAD
ORDER BY GRAD_ACAD
如何解决此问题?当“DOC”然后是“Doctorado”时,案例梯度 当'LIC'然后'Licenciatura' 当“MTR”和“Maestria” else GRAD_ACAD end
您需要在您的
SELECT
和您的groupby
案例梯度中加入相同的子句,当“DOC”时,然后是“Doctorado”
当'LIC'然后'Licenciatura'
当“MTR”和“Maestria”
else GRAD_ACAD end
您需要在您的
SELECT
和您的groupby
案例梯度中加入相同的子句,当“DOC”时,然后是“Doctorado”
当'LIC'然后'Licenciatura'
当“MTR”和“Maestria”
else GRAD_ACAD end
您需要在您的
SELECT
和您的groupby
案例梯度中加入相同的子句,当“DOC”时,然后是“Doctorado”
当'LIC'然后'Licenciatura'
当“MTR”和“Maestria”
else GRAD_ACAD end
您需要在您的
SELECT
和您的groupby
中放置相同的子句,无需在此处使用DISTINCT
SELECT CASE GRAD_ACAD WHEN 'DOC' THEN 'doctorado'
WHEN 'LIC' then 'Licenciatura'
WHEN 'MTR' then 'Maestria'
ELSE GRAD_ACAD end,
COUNT(GRAD_ACAD) AS subtotal
FROM academicos
WHERE CCN REGEXP 'I|D65'
GROUP BY 1
ORDER BY 1;
请注意,我使用了
groupby1
和orderby1
,它们指定了第一个选定的字段,而不是在这两个子句中重复大小写。此处无需使用DISTINCT
SELECT CASE GRAD_ACAD WHEN 'DOC' THEN 'doctorado'
WHEN 'LIC' then 'Licenciatura'
WHEN 'MTR' then 'Maestria'
ELSE GRAD_ACAD end,
COUNT(GRAD_ACAD) AS subtotal
FROM academicos
WHERE CCN REGEXP 'I|D65'
GROUP BY 1
ORDER BY 1;
请注意,我使用了
groupby1
和orderby1
,它们指定了第一个选定的字段,而不是在这两个子句中重复大小写。此处无需使用DISTINCT
SELECT CASE GRAD_ACAD WHEN 'DOC' THEN 'doctorado'
WHEN 'LIC' then 'Licenciatura'
WHEN 'MTR' then 'Maestria'
ELSE GRAD_ACAD end,
COUNT(GRAD_ACAD) AS subtotal
FROM academicos
WHERE CCN REGEXP 'I|D65'
GROUP BY 1
ORDER BY 1;
请注意,我使用了
groupby1
和orderby1
,它们指定了第一个选定的字段,而不是在这两个子句中重复大小写。此处无需使用DISTINCT
SELECT CASE GRAD_ACAD WHEN 'DOC' THEN 'doctorado'
WHEN 'LIC' then 'Licenciatura'
WHEN 'MTR' then 'Maestria'
ELSE GRAD_ACAD end,
COUNT(GRAD_ACAD) AS subtotal
FROM academicos
WHERE CCN REGEXP 'I|D65'
GROUP BY 1
ORDER BY 1;
请注意,我使用了
groupby1
和orderby1
来指定第一个选定字段,不要重复这两个子句中的情况。DISTINCT在此处是多余的。您必须在WHEN中指定实际条件,而不是仅在WHEN中指定“DOC”DISTINCT在此处是多余的。您必须在WHEN中指定实际条件,而不是仅在WHEN中指定“DOC”DISTINCTWHEN'DOC'DISTINCT在这里是多余的。您必须在WHEN中指定实际条件,而不仅仅是WHEN'DOC'