我有以下查询
SELECT `username`, TIMESTAMPDIFF(DAY, STR_TO_DATE(enrolmentDate, '%d-%m-%Y'), now()) AS day
FROM `users`
这会产生 2 列,“天”列中有一个数值。
有没有办法根据“天”列中的数字添加值为 1 或 0 的第 3 列?如果“day”中的值超过 700,我希望在新列中使用 1,如果不是,则使用 0。
理想的结果:
用户名 |天 |核心
用户名 1 | 100 | 0
用户名2 | 800 | 1
我可以在检索数据后在 PHP 中执行此检查,但我认为如果 MYSQL 可以执行此操作,它可能是更有效的方法?
感谢任何提示
最佳答案
您可以尝试使用子查询,如下所示,
SELECT z.*, IF(z.day > 700, 1, 0) AS core
FROM
(
SELECT `username`,
TIMESTAMPDIFF(DAY, STR_TO_DATE(enrolmentDate, '%d-%m-%Y'), now()) AS day
FROM `users`
) z
关于mysql - 根据计算字段的值向 MYSQL SELECT 语句添加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221646/