Команда SQL для разных значений в одном столбце и нескольких одинаковых значений в другом - PullRequest
0 голосов
/ 28 января 2019

В моей таблице есть записи следующего вида:

Serial Number | Cycle Number

55                33

56                27

55                34

55                33

57                5

57                6

56                28

57                6

Я хотел бы вернуть отдельные серийные номера, которые имеют несколько номеров циклов с одинаковым значением

Serial Number |  Cycle Number

55                33

55                33

57                6

57                6 

Любая помощь будетбыть оцененным.

Ответы [ 3 ]

0 голосов
/ 29 января 2019

Вы можете использовать следующий запрос, который вернет отдельный серийный номер, который имеет несколько номеров циклов с одинаковым значением.

SELECT SerialNumber, CycleNumber
FROM Table
GROUP BY SerialNumber, CycleNumber HAVING COUNT(SerialNumber)>1
0 голосов
/ 29 января 2019

Синтаксис SQL:

SELECT A.* FROM tmpTable A
LEFT JOIN
( 
SELECT SerialNumber,CycleNumber FROM tmpTable  GROUP BY  SerialNumber, CycleNumber having count(SerialNumber)>1
) B ON A.SerialNumber = B.SerialNumber And A.CycleNumber = B.CycleNumber
WHERE B.SerialNumber is not null
0 голосов
/ 28 января 2019

Если у вас действительно есть только два столбца, вы могли бы сделать:

select serial, cycle
from t
where (serial, cycle) in (select serial, cycle
                          from t t2
                          group by serial, cycle
                          having count(*) >= 2
                         );

Но почему бы вам просто не сделать это?

select serial, cycle, count(*)
from t
group by serial, cycle;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...