mySQL查询不起作用;使用HAVING

时间:2015-01-14 01:44:45

标签: php mysql

我有一个包含重复事件的表。当我的客户添加新事件时,我为每个日期添加一条新记录。因此,除日期外,每条记录中包含的所有内容都是相同的。此外,时间戳表示该事件是组的一部分。

我需要从列表中选择一个事件,然后才能对其进行编辑。但是,由于组内的每个事件都是相同的,因此我只需要显示每个组中的一个记录。

ALMOST下面的SQL有效。问题:mySQL似乎随机从组中选择记录。有时,它会从组中选择第一条记录,有时是最后一条记录,有时是中间记录。我需要控制它选择哪条记录,因为有些事件已经过去了。

SELECT * FROM tbl_events
WHERE repeats = 0
group by timestamp
having count(*) >= 2
ORDER BY date ASC

1 个答案:

答案 0 :(得分:0)

以下查询是您想要的。只需将id替换为您实际使用的字段,以确定其重复事件。

select e.* from tbl_events e inner join (select id, count(*) count from tbl_events group by id) c on c.id = e.id where c.count >= 2;