使用mysql查询获取重复记录

使用mysql查询获取重复记录,mysql,Mysql,我试图在我的表中获取重复记录,但它无法完全工作 我的桌子看起来像这样: id vehicle dates --------------------------- 1 GKB301J 2016-04-02 2 GKB301J 2016-04-02 3 GKB301J 2016-04-03 4 GKB275F 2016-04-14 5 GKB275F 2016-04-05 6 GKB275F 2016-04-14 7

我试图在我的表中获取重复记录,但它无法完全工作

我的桌子看起来像这样:

id  vehicle     dates
---------------------------
1   GKB301J     2016-04-02
2   GKB301J     2016-04-02
3   GKB301J     2016-04-03
4   GKB275F     2016-04-14
5   GKB275F     2016-04-05
6   GKB275F     2016-04-14
7   GKB275F     2016-04-13
8   GKB438F     2016-04-29
从上表中,我希望得到:

id  vehicle     dates
 1  GKB301J     2016-04-02
 2  GKB301J     2016-04-02
 4  GKB275F     2016-04-14
 6  GKB275F     2016-04-14
但我的问题不太有效:

下面是我的代码:

SELECT j.id, j.vehicle, j.dates
FROM ISSUANCE j
INNER JOIN (
    SELECT dates, vehicle
    FROM ISSUANCE
    GROUP BY DATE_FORMAT(dates, '%Y-%m-%d')
    HAVING COUNT(id) >= 2
) i ON DATE_FORMAT(j.dates, '%Y-%m-%d') = DATE_FORMAT(i.dates, '%Y-%m-%d') AND j.vehicle = i.vehicle
WHERE j.dates BETWEEN '2016-04-01' AND '2016-04-30'

您是否尝试过使用SELECT DISTINCT-它应该返回唯一(非重复)记录

退房:

正如你的问题告诉你的那样,你想要得到重复的:

select vehicle , dates from Issuance WHERE dates BETWEEN '2016-04-01' AND '2016-04-30'
minus
(select vehicle , dates, count(*) from Issuance 
WHERE dates BETWEEN '2016-04-01' AND '2016-04-30'
group by vehicle , dates having count(*) = 1);

“它不起作用”并不能向我们解释出哪里出了问题。您需要向我们显示您的预期输出和实际输出。OP不需要重复的输出吗?我的数据库太大了,所以我必须按日期范围进行筛选。所以如果我使用计数法。因为没有范围,所以可能需要3天才能运行。这不会将重复的日期带到所选的日期范围内。我想你可以自己添加日期,反正我已经编辑过了