Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL在select distinct和count中更改标签值_Mysql - Fatal编程技术网

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'