我的字段是
ID | Name | StartTime | EndTime | Date | Description
我正在寻找一种方法来选择除ID之外的所有字段中具有相同条目的所有行。
我对SQL并不熟悉所以我尝试this方法,但只有一个字段不相关(如我的情况)5。
我的第一个想法是尝试类似的事情:
SELECT *
FROM Table
order by Name, Date, StartTime, EndTime, Description
如果我查看所有条目,我至少会找到重复项,但这绝对不是解决问题的最佳方法。
答案 0 :(得分:1)
此查询应该适合您:
SELECT ID, Name, StartTime, EndTime, Date, Description
FROM (
SELECT
ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID, Name, Date, StartTime, EndTime, Description) AS 'IndexNr'
, ID
, Name
, StartTime
, EndTime
, Date
, Description
FROM Table) AS ResultSet
WHERE ResultSet.IndexNr > 1
答案 1 :(得分:1)
这应该做你需要的:
select Name, Date, StartTime, EndTime, Description
from table
group by Name, Date, StartTime, EndTime, Description
having count(*) > 1
答案 2 :(得分:1)
尝试以下查询。
SELECT Name, Date, StartTime, EndTime, Description
FROM Table
GROUP BY Name, Date, StartTime, EndTime, Description
HAVING (COUNT(*) > 1)
答案 3 :(得分:-1)
你可以试试这个: -
SELECT *
FROM TAB_NAME
HAVING COUNT(CONCAT(Name, StartTime, EndTime, Date, Description)) > 1
这将为您提供除ID以外重复的所有行。