【问题标题】:how can I select a rows that repets two atributtes如何选择重复两个属性的行
【发布时间】:2021-02-12 01:27:12
【问题描述】:

我有一张包含 Destino 和 Tronco 的桌子,Fecha 我需要将重复的 Destino 和 Tronco 分组

SELECT Destino
    ,Tronco
    ,Count(*) AS Countrows
FROM Hist_LDS
WHERE Fecha = '2020-10-28'
GROUP BY Destino
    ,Tronco
HAVING COUNT(*) > 1

enter image description here

结果为空 但如果我选择不计算,这就会消失

SELECT Destino
    ,Tronco
FROM Hist_LDS
WHERE Fecha = '2020-10-28'

enter image description here

【问题讨论】:

  • 在您的第一个数据屏幕截图中,我实际上没有看到似乎不止一次出现的单个 (Destino, Tronco) 对。您确定您的问题措辞正确吗?
  • @GMB 我实际上建议您回滚您的编辑。屏幕截图也不是很清晰。
  • 您正在开发什么 RDBMS? Mysql、Sql Server、Oracle、Postgres... ?
  • 有 95 行并且重复,但我只拍了第一张照片
  • 我正在使用 sql server 2003

标签: sql select counting


【解决方案1】:

您的意思是 Destino 或 Tronco 重复吗?您目前正在做的是寻找两者组合的重复 - 您的示例数据列表中不存在。

如果是,请查看以下是否返回您所追求的内容。

如果没有,请提供示例数据,包括您认为应该出现在初始查询中的记录。

--Identify duplicated Tronco values
select Tronco, Count(*) As Countrows
INTO #TRONCO
From Hist_LDS
Where Fecha='2020-10-28' 
GROUP BY Tronco
HAVING COUNT (*)>1

--Identify duplicated Destino values
select Destino, Count(*) As Countrows
INTO #DESTINO
From Hist_LDS
Where Fecha='2020-10-28' 
GROUP BY DESTINO
HAVING COUNT (*)>1


--Identify records from initial table where Destino or Tronco were repeated
select Destino, Tronco, Count(*) As Countrows
From Hist_LDS
Where Fecha='2020-10-28' 
AND (Destino in (SELECT destino from #DESTINO) OR Tronco in (SELECT tronco from #TRONCO))

【讨论】:

  • @ArthurJ - 试一试。如果有效,请将其标记为答案。如果不回来详细说明问题所在。
  • 我怎么能再问你一件事
猜你喜欢
  • 1970-01-01
  • 2020-07-31
  • 2014-06-27
  • 2010-10-19
  • 2012-03-03
  • 1970-01-01
  • 2013-10-20
  • 2019-02-03
  • 2016-08-30
相关资源
最近更新 更多