使用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天才能运行。这不会将重复的日期带到所选的日期范围内。我想你可以自己添加日期,反正我已经编辑过了