有一个关联日期和名称的列表,我想选择:当日期之间的差异超过 1 个月时,名称具有多个日期的所有行。
例如:只有下面标有的条目 \*this*\
CREATE TABLE IF NOT EXISTS myTab (
id SERIAL PRIMARY KEY,
dateID DATETIME DEFAULT 0,
name VARCHAR(512)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO myTab
(dateID, name)
VALUES
("20140811","Emmy"), /*this*/
("20140922","Emmy"), /*this*/
("20150920","Emmy"), /*this*/
("20150922","Emmy"),
("20140722","Dave"),
("20140613","Stan"),
("20140622","Stan"), /*this*/
("20151020","Stan"), /*this*/
("20140305","Lora"),
("20140310","Lora");
Run Code Online (Sandbox Code Playgroud)
换句话说,标准是:
IF diff > 1 MONTH THEN select both, ELSE skip
这是一个工作示例以及我基于SO 的另一个答案的尝试:
+1 id
。它们也不按日期插入。在上面的例子中,这样做只是为了可读性。在我真正的问题中,情况并非如此!/*this_EXRA*/
在上面的示例中添加了一个额外的条件。第 3stan …
mysql ×1