【发布时间】:2014-01-31 19:49:10
【问题描述】:
我正在尝试查询一个巨大的数据库(大约 2000 万条记录)以获取一些数据。这是我现在正在处理的查询。
SELECT a.user_id, b.last_name, b.first_name, c.birth_date FROM users a
INNER JOIN users_signup b ON a.user_id a = b.user_id
INNER JOIN users_personal c ON a.user_id a = c.user_id
INNER JOIN
(
SELECT distinct d.a.user_id FROM users_signup d
WHERE d.join_date >= '2013-01-01' and d.join_date < '2014-01-01'
)
AS t ON a.user_id = t.user_id
我在尝试从数据库中检索其他数据时遇到了一些问题。我想在结果表中添加 2 个附加字段:
- 我可以获取出生日期,但我想在结果表中获取成员的年龄。数据在 users_personal 表中存储为“yyyy-mm-dd”。
- 我想使用 join_date 和 left_date 中的数据(格式:yyyy-mm-dd)从名为 user_signup 的表中获取从成员加入到左侧(如果有)的总天数。
【问题讨论】:
标签: mysql sql select inner-join datediff