【问题标题】:Sql Query to retrieve unique rows with where clause and displaying row countSql Query 使用 where 子句检索唯一行并显示行数
【发布时间】:2015-02-08 04:47:35
【问题描述】:

我有一个包含以下字段的表格:-

device_name,
system_name,
alert_text,
direction,
arrival_time,
ack_time,
ack_status,
Currentval_analog,
Currentval_digital,
Lower_limit,
Upper_limit

我想编写一个查询来检索唯一或不同的到达时间和系统名称,其中 ack_status=0 和 direction=came。每个系统名称的到达时间应该不同。 除此之外,我还必须显示相同系统名称出现在不同到达时间的次数。

实际上在我的数据库中存在与每个系统名称相对应的几个系统名称存在到达时间,有时系统名称和到达时间之间存在冗余,即相同系统的相同到达时间。我想删除这个冗余行并计算总数与该系统名称相对应的不同到达时间的相同系统名称以及满足的条件。

【问题讨论】:

  • @radar 我不想知道到达时间计数,但想知道相同系统名称与不同到达时间的总次数。

标签: sql count distinct


【解决方案1】:

试试下面的查询。我认为它会起作用。

;With cte AS
(
    SELECT Arrivaltime, system_name, ROW_NUMBER() OVER(PARTITION BY system_name 
       order BY system_name) 
     AS Rn FROM 
    (SELECT DISTINCT Arrivaltime, system_name FROM YourTableName 
    WHERE ack_status = 0 AND direction = 'came') AS A
)

SELECT A.Arrivaltime, A.system_name, (SELECT MAX(Rn) FROM Cte AS B 
WHERE A.system_name = B.system_name) 
AS Count FROM Cte AS A

SELECT arrival_time, system_name
FROM YourTableName WHERE ack_status = 0 AND direction = 'came'
GROUP BY arrival_time, system_name

【讨论】:

  • 我想要使用 where 子句和错误显示在 DESC 上的相同 system_name 带有不同的arrival_time 的总次数
  • 如何在同一个 system_name 上显示不同的计数值??我想计算所有到达时间值的系统名称出现的次数。到达时间应该是不同的。
  • 我再次更改了数据。复查回来。如果失败。获得正确答案的唯一方法是提供有关表格内容的足够详细信息,以及示例数据的预期结果。
  • 没有 system_name 附带我运行上述查询,我​​已经编辑了我的问题以获得更好的清除。感谢所有的努力。
  • 如果您希望 sysname 将其添加到查询中。检查一下
【解决方案2】:
SELECT arrival_time, system_name, COUNT(system_name) AS SystemCount 
FROM YourTableName WHERE ack_status = 0 AND direction = 'came'
GROUP BY arrival_time, system_name 

【讨论】:

  • 如何在同一个 system_name 上显示不同的计数值??我想计算所有到达时间值的系统名称出现的次数。到达时间应该是不同的。
  • 这个计数表明,对于到达时间,系统名称重复=对应计数。
  • 如果您感到困惑,可以删除 select 中的 system_name。
  • 我想计算到达时间的不同值的system_name。实际上在我的数据库中,有一些系统具有相同的到达时间,我想删除同一系统的重复到达时间并计算总数相同的 system_name 出现在不同的到达时间
猜你喜欢
  • 1970-01-01
  • 2023-03-24
  • 2016-04-05
  • 2019-10-04
  • 2017-04-29
  • 1970-01-01
  • 1970-01-01
  • 2019-10-06
  • 2015-09-12
相关资源
最近更新 更多