我试过在网上搜索,虽然有很多答案可以找到重复内容,但我还是偶然发现了一个允许我在列中找到所有重复内容的内容(即同一个名称' ;多次出现)然后只选择最低行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最低): 朱丽叶 标记
现在的问题是,如果我选择id,我必须将它包含在组中。这样做意味着没有重复的列被选中,因为任何id都是唯一的。并且没有选择id我不能通过desc。
我希望我很清楚,如果不是,我可以重新说出来或提供更多信息。
答案 0 :(得分:1)
请试试这个?嵌套查询。基本上调用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