Sql server Sql中的重复验证

Sql server Sql中的重复验证,sql-server,Sql Server,我有一个表,其中包含两列,我在其中检查重复项。我已经为重复项编写了代码,它是 DbCommand cmd = db.GetSqlStringCommand("SELECT MyTable.* FROM MyTable. INNER JOIN(SELECT MainUrl, COUNT(*) as counter FROM MyTable GROUP BY MainUrl HAVING COUNT(*) >1) t ON t.MainUrl=MyTable.MainUrl")

我有一个表,其中包含两列,我在其中检查重复项。我已经为重复项编写了代码,它是

        DbCommand cmd = db.GetSqlStringCommand("SELECT MyTable.* FROM MyTable. INNER JOIN(SELECT MainUrl, COUNT(*) as counter FROM MyTable GROUP BY MainUrl HAVING COUNT(*) >1) t ON t.MainUrl=MyTable.MainUrl");
        int count = db.ExecuteNonQuery(cmd);
        DataSet ds = db.ExecuteDataSet(cmd);
        return ds;

而在我的列中,我有Amazon.com,甚至想要这两个副本。我想返回表中所有的列和这些副本。但是从我的代码中我无法实现这一点,有人能帮我解决这个问题吗?使用
CHARINDEX
SUBSTRING

它考虑了
'amazon.com'
http://amazon.com“
https://amazon.com“
作为副本

WITH MyTable(OriginalURL) AS(
    SELECT 'http://Amazon.com' UNION ALL
    SELECT 'https://Amazon.com' UNION ALL
    SELECT 'Amazon.com' UNION ALL
    SELECT 'http://Stackoverflow.com' UNION ALL
    SELECT 'Stackoverflow.com' UNION ALL
    SELECT 'http://google.com'
)
SELECT 
    CASE 
        WHEN CHARINDEX('http://', OriginalURL, 1) > 0 THEN SUBSTRING(OriginalURL, 8, LEN(OriginalURL) - 7) 
        WHEN CHARINDEX('https://', OriginalURL, 1) > 0 THEN SUBSTRING(OriginalURL, 9, LEN(OriginalURL) - 8) 
        ELSE OriginalURL
    END AS OriginalURL
    , COUNT(*) AS DupeCount
FROM MyTable
GROUP BY
    CASE 
        WHEN CHARINDEX('http://', OriginalURL, 1) > 0 THEN SUBSTRING(OriginalURL, 8, LEN(OriginalURL) - 7) 
        WHEN CHARINDEX('https://', OriginalURL, 1) > 0 THEN SUBSTRING(OriginalURL, 9, LEN(OriginalURL) - 8) 
        ELSE OriginalURL
    END
HAVING COUNT(*) > 1

考虑一个领域。我们可以这样做:

SELECT field, Count(*) FROM table
GROUP BY field
HAVING Count(*) > 1
ORDER BY Count /*optional DESC*/

那https呢?你桌上也有吗?这也应该匹配吗?是的,我匹配。查看我更新的问题我想在gridview中表示所有这三个URL,所以我想要所有这三个URL,但不是作为一个