在psql中选择重复列,然后按行id排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在psql中选择重复列,然后按行id排序相关的知识,希望对你有一定的参考价值。
我试过在网上搜索,虽然有很多答案可以找到重复的内容,但我还是偶然发现了一个允许我在列中找到所有重复项的内容(即同一个'名称'出现不止一次)然后仅选择最低行ID(这将是输入的第一个重复名称)。
所以表的描述(从文件中插入):create table customer(id int,name varchar,)
id| name
1 | Darren
2 | Mark
3 | Julie
4 | Mark
5 | Julie
查询:
CREATE VIEW AS
SELECT COUNT(name), name
FROM customer
GROUP BY name
HAVING COUNT(name) > 1
结果(订单永远无法保证,我希望Mark总是先来,因为他的ID最低):Julie Mark
现在的问题是,如果我选择id,我必须将它包含在组中。这样做意味着没有选择重复的列,因为任何ID都是唯一的。并且没有选择id我不能订购ORDER。
我希望我很清楚,如果不是,我可以重新说出来或提供更多信息。
答案
请试试这个?嵌套查询。基本上调用SELECT / GROUP。在外面,我们获取所选信息并对其进行排序。
CREATE VIEW AS
SELECT CNT_NAME, NAME
FROM
(
SELECT COUNT(name) CNT_NAME, name, min(id) min_id
FROM customer
GROUP BY name
HAVING COUNT(name) > 1
) AS alias
ORDER BY MIN_ID
以上是关于在psql中选择重复列,然后按行id排序的主要内容,如果未能解决你的问题,请参考以下文章
DS&ML_用Excel实现按行排序后按列排序,最后高亮重复值