简体   繁体   English

识别 SQL Server 2012 中的欺骗

[英]Identifying dupes in SQL Server 2012

I have a table TEMP with columns Ticker , Date and Price :我有一个表TEMP与列TickerDatePrice

Ticker    Date        price
----------------------------
ABC       01/01/13    100.00 
ABC       01/02/13    101.50 
ABC       01/03/13     99.80 
ABC       01/04/13     95.50 
ABC       01/05/13     78.00 
XYZ       01/01/13     11.50 
XYZ       01/02/13     12.10 
XYZ       01/02/13     12.10 
XYZ       01/03/13     17.15 
XYZ       01/04/13     14.10 
XYZ       01/05/13     15.55 

Note that I have a duplicate for XYZ on 01/02/13请注意,我在 13 年 1 月 2 日有 XYZ 的副本

I'm trying to identify dupes using the COUNT and DISTINCT statements in SQL, but I am having problems.我正在尝试使用 SQL 中的COUNTDISTINCT语句来识别欺骗,但我遇到了问题。

Here's my code and the error msg:这是我的代码和错误消息:

SELECT 
    Date,
    Price,
    COUNT([Ticker]) 
FROM 
    (SELECT DISTINCT 
         Ticker, Date 
     FROM 
         [Coinmarketcap].[dbo].[temp]
     WHERE 
         COUNT[Ticker] > 1) AS dt

Error:错误:

Incorrect syntax near 'Ticker'. 'Ticker' 附近的语法不正确。

What's the best way to identify duplicate entries for each ticker/date?识别每个代码/日期重复条目的最佳方法是什么?

I think you are looking for:我认为您正在寻找:

SELECT Ticker, Date, Price, COUNT(*)
FROM [Coinmarketcap].[dbo].[temp] t
GROUP BY Ticker, Date, Price
HAVING COUNT(*) > 1;

At least, this identifies the duplicate as you have defined it in your question.至少,这标识了您在问题中定义的重复项。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM