我的数据库由一组有生日的用户组成。 (百万)
| USERS |
- - - - - - - - - -
| ID | BIRTHDATE |
| 1 | 1987-12-14 |
| 2 | 1984-12-19 |
| 3 | 1987-12-14 |
| 4 | 1987-12-16 |
我们没有一种可以创建群组的机制。 X天到他们生日的用户组。 (用于营销目的)。
| GROUPS |
- - - - - - - - - -
| ID | BIRTHDATE_OFFSET |
| 1 | 2 |
| 2 | -2 |
| 3 | 4 |
| 4 | 17 |
如何一次性找到所有客户及其相应的群组?
答案 0 :(得分:0)
使用连接条件中的偏移量是一个简单的JOIN
。
SELECT u.id AS user, g.id AS group
FROM USERS AS u
JOIN GROUPS AS g ON u.birthdate = date_add(curdate(), interval g.birthdate_offset DAY)