select distinct
assignedTo,
alert_id,
insert_date_time,
alert_status_id,
alert_action_id,
alert_call_reason_id,
target_date
from Case_Management.AlertDetail
工作正常。
select distinct
assignedTo,
alert_id,
max(insert_date_time),
alert_status_id,
alert_action_id,
alert_call_reason_id,
target_date
from Case_Management.AlertDetail
返回错误列'Case_Management.AlertDetail.assignedTo'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
我很难过。
答案 0 :(得分:5)
错误很明显,将不在聚合函数中的列添加到GROUP BY
子句中:
select
assignedTo,
alert_id,
max(insert_date_time),
alert_status_id,
alert_action_id,
alert_call_reason_id,
target_date
from Case_Management.AlertDetail
GROUP BY assignedTo,
alert_id,
alert_status_id,
alert_action_id,
alert_call_reason_id,
target_date;
答案 1 :(得分:0)
您需要在第二个查询中使用group by子句,因为您有一个聚合。汇总是
max(insert_date_time)
答案 2 :(得分:0)
想想你想要实现的目标。您想要选择一些记录,但其中一列不是常规记录的内容,而是所有列的摘要。你不能混合它。
您需要对数据进行分组以实现该目标或使用子选择。