Sql Postgres组合2列并使用分组依据
在我的psql数据库col中有pat_first_name和pat_last_name列。我想挑选最常见的名字。我可以用你的名字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 ||
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”列