我知道如何找到表中重复的单个值,但现在我需要找到不同id的整列重复项。
对于每个IDNBD,我在表POMIAR中有很多值,如GLEBOKOSC,TEMPERATURA。我想找到不同IDNBD重复的列(GLEBOKOSC或TEMPERATURA OR等)。查询结果只需要IDNBD。
我要比较的内容:(整栏glebokosc或者温度或zasolenie)
我有这样的查询:
SELECT idnbd
FROM pomiar
GROUP BY idnbd, glebokosc, temperatura HAVING Count(*)>1
但它只在表pomiar与相同的idnbd
进行比较答案 0 :(得分:0)
SELECT idnbd
FROM pomiar P
WHERE glebokosc || temperatura IN
(
SELECT glebokosc || temperatura
FROM pomiar
GROUP BY glebokosc || temperatura
HAVING Count(glebokosc || temperatura)>1)
)
答案 1 :(得分:0)
我认为这就是你要做的事情:
SELECT idnbd
FROM pomiar
WHERE glebokosc IN (
SELECT glebokosc FROM pomiar GROUP BY glebokosc HAVING Count(*)>1
)
OR temperatura IN (
SELECT temperatura FROM pomiar GROUP BY temperatura HAVING Count(*)>1
)
-- OR etc...
子查询在每列中查找重复值。然后,主查询返回具有任何重复值的行;使用OR
子句中的WHERE
单独考虑每列。