我有任何关于MySQL的特殊原因,不允许在WHERE
中使用date_sent_at
,同时允许它在GROUP BY
?为什么我不能在我的GROUP BY中使用我的列?
SELECT
CONCAT(type, '_', IF(om.is_auto, 'auto', 'user')) AS subtype,
DATE(om.sent_at) AS date_sent_at,
COUNT(om.id) AS sends
FROM outgoing_message om INNER JOIN outgoing_message_customers AS omc
ON om.id = omc.outgoing_message_id
WHERE
omc.customer_id = 2
AND
om.status <> 'pending'
AND
date_sent_at >= '2012-01-01'
GROUP BY subtype, date_sent_at
编辑:我知道,(当然)我可以DATE(om.sent_at) >= '2012-01-01'
取代。
否 - 应该工作。你的错误信息是什么? – Horen 2012-07-19 10:45:22
@HERN未知列'date_sent_at'在'where子句'中。关于你的编辑 – gremo 2012-07-19 10:47:06
:如果你知道你可能正在寻找答案@ user868766给你:http://dev.mysql.com/doc/refman/5.5/en/select.html – Horen 2012-07-19 10:54:17