2015-12-15 5 views
1
SELECT sample_number, date_sampled, date_completed, COUNT(*) c FROM tbl_sample GROUP BY sample_number HAVING c > 1 

Этот запрос дает мне все числа выборок, которые дублируются, как показано ниже: -MySQL - выбор из дублей, где

'483662','0000-00-00 00:00:00','0000-00-00 00:00:00','2' 
'493812','2011-10-14 00:00:00','2011-10-28 11:24:11','2' 
'497558','1970-01-01 01:00:00','1970-01-01 01:00:00','2' 

Глядя на образце № 483662, например: -

'483662','0000-00-00 00:00:00','0000-00-00 00:00:00' 
'483662','2011-09-02 00:00:00','2011-10-04 09:39:31' 

Мне нужно развернуть этот запрос и выбрать все дубликаты номеров примеров, где date_completed либо «0000-00-00 00:00:00», либо «1970-01-01 01:00:00»

Любая идея, как я могу это сделать?

ответ

1

Попробуйте это:

SELECT DISTINCT A.sample_number 
FROM tbl_sample A 
INNER JOIN (SELECT sample_number, COUNT(*) c 
      FROM tbl_sample 
      GROUP BY sample_number HAVING c > 1 
      ) AS B ON A.sample_number = B.sample_number 
WHERE A.date_completed IN ('0000-00-00 00:00:00', '1970-01-01 01:00:00') 
+0

Большое спасибо, что мне нужно изменить, чтобы получить все записи для вышеупомянутого запроса? – nsilva

0
SELECT sample_number, COUNT(1) AS c 
FROM tbl_sample 
WHERE sample_number IS NOT NULL 
AND (date_completed='0000-00-00 00:00:00' OR date_completed='1970-01-01 01:00:00') 
GROUP BY sample_number 
HAVING COUNT(1) > 1 
Смежные вопросы