jul*_*lio 16 mysql sql duplicates
我有一个非常简单的表,只有part_id和part_type:
CREATE TABLE `temp` (
`part_id` INT NOT NULL ,
`part_type` CHAR( 5 ) NOT NULL
Run Code Online (Sandbox Code Playgroud)
这有很长的零件ID和类型列表.但是,某些部件有多种类型.我如何获得具有多种类型的部件的ID?我在想这样的事情会起作用:
SELECT * FROM temp WHERE part_in IN (SELECT count(part_id) as duplicates FROM temp WHERE 1 GROUP BY part_id) AND duplicates > 1
然而,这显然只是伪造的,并且失败了.谢谢你的帮助.
Fos*_*sco 30
select part_id from temp
group by part_id
having count(*) > 1
Run Code Online (Sandbox Code Playgroud)
这将为您提供包含多行的part_id.然后,您可以像示例查询一样包装它,以获取具有多行的所有部分的所有part_id/part_type数据.
select * from temp
where part_id in (select part_id from temp
group by part_id
having count(*) > 1)
order by part_id
Run Code Online (Sandbox Code Playgroud)
我喜欢GROUP_CONCAT
这些东西,因为它为您提供了这个问题(多少个)和下一个问题(哪种类型)的答案。
select part_type, count(*), group_concat(part_id)
from temp
group by 1
having count(*) > 1;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18193 次 |
最近记录: |