Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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
Sql Postgres组合2列并使用分组依据_Sql_Postgresql - Fatal编程技术网

Sql Postgres组合2列并使用分组依据

Sql Postgres组合2列并使用分组依据,sql,postgresql,Sql,Postgresql,在我的psql数据库col中有pat_first_name和pat_last_name列。我想挑选最常见的名字。我可以用你的名字 SELECT pat_first_name,count(pat_first_name) from patients GROUP BY pat_first_name ORDER BY count DESC;` 然而,当我尝试合并时,它失败了 SELECT pat_first_name,pat_last_name,count((pat_first_name ||

在我的psql数据库col中有pat_first_name和pat_last_name列。我想挑选最常见的名字。我可以用你的名字

SELECT pat_first_name,count(pat_first_name) 
from patients 
GROUP BY pat_first_name 
ORDER BY count DESC;`
然而,当我尝试合并时,它失败了

SELECT pat_first_name,pat_last_name,count((pat_first_name || ' ' || pat_last_name)) 
from patients 
GROUP BY (pat_first_name || ' ' || pat_last_name) 
ORDER BY count DESC;
列“patients.pat_first_name”必须出现在GROUP BY子句中,或在聚合函数中使用

我哪里出错了?

你可以这样做:

SELECT pat_first_name,pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name,pat_last_name
ORDER BY COUNT(*) DESC;
或者,如果您确实希望在结果中连接第一个\u名称和最后一个\u名称:

SELECT pat_first_name || ' ' || pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name || ' ' || pat_last_name
ORDER BY COUNT(*) DESC;
无论哪种方式,您必须在SELECT中具有与GROUP BY中相同的“非计数”列。

您只需执行以下操作:

SELECT pat_first_name,pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name,pat_last_name
ORDER BY COUNT(*) DESC;
或者,如果您确实希望在结果中连接第一个\u名称和最后一个\u名称:

SELECT pat_first_name || ' ' || pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name || ' ' || pat_last_name
ORDER BY COUNT(*) DESC;
无论哪种方式,您必须在SELECT中具有与GROUP BY中相同的“非计数”列。

您只需执行以下操作:

SELECT pat_first_name,pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name,pat_last_name
ORDER BY COUNT(*) DESC;
或者,如果您确实希望在结果中连接第一个\u名称和最后一个\u名称:

SELECT pat_first_name || ' ' || pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name || ' ' || pat_last_name
ORDER BY COUNT(*) DESC;
无论哪种方式,您必须在SELECT中具有与GROUP BY中相同的“非计数”列。

您只需执行以下操作:

SELECT pat_first_name,pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name,pat_last_name
ORDER BY COUNT(*) DESC;
或者,如果您确实希望在结果中连接第一个\u名称和最后一个\u名称:

SELECT pat_first_name || ' ' || pat_last_name,COUNT(*) 
FROM patients 
GROUP BY pat_first_name || ' ' || pat_last_name
ORDER BY COUNT(*) DESC;
无论哪种方式,您必须在SELECT中具有与GROUP BY中相同的“non count”列