我在尝试提出特定的mysql查询时遇到麻烦。我什至没有找到任何与我要找的东西相近的参考。我不确定我是否在搜索正确的问题...
我有一个存储唯一ID列表的数据库。然后,这些id在执行任何操作时都会在数据库中获得唯一的条目。因此,一个id每个月在我的数据库中出现数百次并不罕见。我目前在数据库中大约有5年的身分证。我要构建的查询是要识别自6月初以来新的ID。
到目前为止,我只能提出的所有查询都在6月指定了特定的ID,我希望这些ID在6月首次出现,而且从未出现过。
任何帮助将不胜感激。
编辑: 我有一个时间戳记何时将每个条目添加到表中
答案 0 :(得分:2)
以下方法应该起作用:
SELECT ID FROM (
SELECT DISTINCT(ID) as ID
FROM YOUR_TABLE
WHERE DATE >= "2018/06/01") b
WHERE b.ID NOT IN (
SELECT DISTINCT(ID) as ID
FROM YOUR_TABLE
WHERE DATE < "2018/06/01")
它将在6月之前和之后创建一个ID的选择,然后在6月之后将其与新ID进行比较。一种更简单的方法是在用户上设置一个第一操作列,以表示他们何时变为“活动”状态。