使用聚合函数的单列起作用而使用不使用聚合函数的列不起作用的原因是因为您需要指定一个
GROUP BY子句。这是您的查询应类似于的样子:
SELECt COUNT(n.nid),n.nid,ctu.field_update_date_value FROM NODE nLEFT JOIN CONTENT_TYPE_UPDATE ctu ON ctu.vid = n.vid WHERe n.type IN ('update') GROUP BY n.nid, ctu.field_update_date_value ORDER BY field_update_date_value DESC
SELECT n.nid, COUNT(n.fake_example_column), ctu.field_update_date_value ... GROUP BY n.nid, ctu.field_update_date_value
我将示例更改为使用伪列,以突出显示需要如何定义GROUP BY。您引用的任何未包装汇总函数的列 都应 在中提及
GROUP BY。我说 应该,
因为MySQL是我知道的唯一一个数据库,它支持在
GROUPBY其中可以有选择地省略列的方式
-关于为什么查询在MySQL上有效但无法在不更改为其他数据库的情况下移植的问题有很多。显然,在您的情况下,您仍然需要定义至少一个。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)