如何从表中列出重复值?

时间:2017-05-16 12:10:22

标签: sql-server

我有这张桌子。某些行在Kanji列中具有重复值。

如何在同一个汉字不止一次出现的地方显示这些行?

CREATE TABLE [dbo].[Phrase] (
    [PhraseId]              UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
    [English]               NVARCHAR (250)   NOT NULL,
    [Kanji]                 NVARCHAR (250)   NULL,
    PRIMARY KEY CLUSTERED ([PhraseId] ASC) );

6 个答案:

答案 0 :(得分:4)

您可以使用该列的GROUP BY语句,并指定该组的COUNT(*)大于1的约束,因此:

SELECT [kanji]
FROM [dbo].[Phrase]
GROUP BY [kanji]
HAVING COUNT(*) > 1

答案 1 :(得分:3)

分组将获得哪些单词是重复的:

SELECT Kanji FROM Phrase
GROUP BY Kanji
HAVING COUNT(*)>1

答案 2 :(得分:1)

从MyTable中选择汉字 按汉字分组 有计数(*)> 1

我建议您在所需的列上使用全文索引...

答案 3 :(得分:0)

;with cteDuplicates
AS(
    SELECT *
        ,ROW_NUMBER()OVER (PARTITION BY Kanji ORDER BY Kanji) 'Dup'
    FROM dbo.Phrase
)
SELECT * FROM cteDuplicates D
WHERE D.Dup > 1

答案 4 :(得分:0)

val topicStream = createKafkaStream(ssc)map(_._2)
topicStream.foreachRDD(
  rdd => if (!rdd.isEmpty()){
    logger.info(rdd.count())
    rdd.foreach(avroRecords=> processRecord(avroRecords))

答案 5 :(得分:0)

似乎他想要重复的行,而不仅仅是重复的。一种方法是在该列中找到重复值,然后JOIN回原始表以查看整行。请参阅以下查询:

nil