SQL相关字段和副本

SQL相关字段和副本,sql,Sql,假设我有一张这样的桌子。表名:日志 id time prod stan amt 1 02:01 10 445 22 2 05:33 02 446 56 3 02:02 10 447 22 4 20:40 55 448 88 我希望输出为 id time prod stan amt 1 02:01 10 445 22 3 02:02 10 447 22 这就是我尝试过的 SELE

假设我有一张这样的桌子。表名:日志

id time   prod   stan  amt
1  02:01  10     445   22
2  05:33  02     446   56
3  02:02  10     447   22
4  20:40  55     448   88
我希望输出为

id time   prod   stan  amt
1  02:01  10     445   22
3  02:02  10     447   22
这就是我尝试过的

SELECT time, prod, stan, amt 
FROM Logs 
GROUP BY time, prod, stan, amt 
HAVING ( COUNT(prod) > 1 AND COUNT(amt) > 1 ) 
此处相同的值将是prod和amt。我想要所有的唱片,因为斯坦与众不同 复制不起作用 任何人都可以帮助进行sql查询吗?请尝试以下sql语句:

SELECT * FROM Logs l JOIN (
  SELECT prod, amt
  FROM Logs
  WHERE time between '02:00' and '06:00'
  GROUP BY prod, amt
  HAVING count(*)>1
) tmp
ON tmp.prod=l.prod AND tmp.amt=l.amt
WHERE time between '02:00' and '06:00'
我添加了更多的行以检查是否不会添加不相关的行


另请参见此演示:

您自己尝试过什么吗?当您有问题时,我们会帮助您,而不是当您有要求时=另外,还不清楚获得输出的标准是什么。他可以尝试使用SELECT*FROM Logs,其中amt=22是的,我这次选择的时间只得到重复的,prod,stan,amt FROM Logs GROUP BY time,prod,stan,amt有COUNTprod>1和COUNTamt>1到目前为止,我们已经知道了如何得到这个结果,但是你期望什么?很好。我可以将其限制在02:00到06:00这样的时间吗?这不起作用。从日志中选择*,在'02:00'和'06:00'之间的时间我加入选择生产,从日志组按金额计算金额,生产数量*在tmp上大于1 tmp。生产=l.prod和tmp.amt=l.amt我想我得到了。它应该在最后,对吗?好啊我会检查你的!还有可能从同一个产品中获取在几秒钟内触发的记录,如id 1和3吗?