SQL相关字段和重复项

时间:2013-04-28 11:39:00

标签: 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

这是我试过的

SELECT time, prod, stan, amt 
FROM Logs 
GROUP BY time, prod, stan, amt 
HAVING ( COUNT(prod) > 1 AND COUNT(amt) > 1 ) 

这里相同的值将是prod和amt。我想要所有的记录,因为斯坦是不同的 重复不起作用 任何人都可以帮助SQL查询

1 个答案:

答案 0 :(得分:0)

试试这个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'

我添加了更多行来检查是否会添加不相关的行。

另见此演示:http://sqlfiddle.com/#!2/ca583/2/0