根据组合条件在MySQL中查找重复值

时间:2019-06-30 05:39:21

标签: mysql

需要:获取表中重复项的数量。如果订单号相同但日期不同,则视为重复项。注意,表中日期,订单号和技术号的组合是唯一的。

研究:我提到的这个解决方案非常符合我的需求Link1。但是在这种情况下,重复条件取决于日期和订单号的组合。

希望我的查询清楚

表格:

   Date    | Order No.| TechNo. | Company  | Price
---------------------------------------------------
2018-04-12 |   12345  | 987     | CompanyA | 432
2018-04-12 |   12345  | 991     | CompanyA | 442
2018-05-13 |   23456  | 345     | CompanyB | 832
2018-06-14 |   34567  | 656     | CompanyC | 932
2018-07-15 |   12345  | 890     | CompanyD | 132
2018-08-18 |   12345  | 678     | CompanyA | 932

预期的查询输出:

Order No. | Count
-------------------
12345     | 3

编辑:

已更新表格以反映实际情况。向论坛致歉,主持人错过了该专栏-TechNo。在最初的帖子中。

1 个答案:

答案 0 :(得分:2)

尝试这个,希望能解决您的问题

select order_no,count(*) from (select distinct date,order_no from Test) a
 group by order_no having count(*) > 1;