您好,想知道是否有人可以阐明以下错误。该SQL在本地工作正常,但我远程得到以下错误。
SQL查询:
SELECT COUNT(node.nid),
node.nid AS nid,
node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value
FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
WHERE node.type IN ('update')
ORDER BY node_data_field_update_date_field_update_date_value DESC
MySQL说:
#1140-如果没有GROUP BY子句,则将GROUP列(MIN(),MAX(),COUNT(),…)与GROUP列混合使用是非法的
使用聚合函数的单列起作用而使用不使用聚合函数的列不起作用的原因是因为您需要指定一个GROUP BY
子句。这是您的查询应类似于的样子:
SELECT COUNT(n.nid),
n.nid,
ctu.field_update_date_value
FROM NODE n
LEFT 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是我知道的唯一一个数据库,它支持在GROUP BY
其中可以有选择地省略列的方式
-关于为什么查询在MySQL上有效但无法在不更改为其他数据库的情况下移植的问题有很多。显然,在您的情况下,您仍然需要定义至少一个。
我试图对使用视图的查询进行简单的分页: 并得到以下错误: 好的,让我们尝试按视图使用的一个表上的列进行分组: SQLSTATE[42S22]:未找到列:1054“group语句”中的未知列“database_name.table_used_by_view.column_on_table”(SQL:从vw_myview group by database_name.table_used_by_vie
问题内容: 我试图在这里按多列分组-每张桌子上一列。 在这种情况下,我想通过将每个客户的当前投资组合和现金加在一起来找到每个客户的最高投资组合价值,但是一个客户可能拥有多个投资组合,因此我需要每个客户的最高投资组合。 目前,在下面的代码中,我会为每个客户的顶级投资组合多次获得相同的客户(而不是按客户ID分组)。 问题答案: 首先,让我们做一些测试数据: 如果您不需要投资组合ID,这很容易: 由于您
问题内容: 我有2列,像这样: 我想对金额求和,以获得结果 到目前为止,我已经尝试过(但失败了)的是: 问题答案: 删除中的单引号。它使列名转换为字符串。
问题内容: 我试着要求其他答案,但是没有运气,因此提出了要求。 我有一张桌子,其他年份也有几张类似的桌子,这是桌子的结构 当我编写查询以列出一年中的所有公司GROUP BY STATUS时,我想查看与状态计数相对应的所有条目,包括零计数。 如果我在Google上搜索,我会得到这样的信息 结果 : 如果我为Microsoft运行相同的软件,我会得到 零计数的那些丢失。我希望零计数的那些也像下面这样消
1140 CSS Grid 最适合 1280 分辨率的屏幕,在一些小的显示器上会自动进行适配。 Beyond a certain point it uses media queries to serve up a mobile version, which essentially stacks all the columns on top of each other so the flow of
问题内容: 我有一张要导出到CSV数据的表。理想情况下,我想在行和列之间进行切换,以使数据分组更好。 为了进一步解释,当前,数据库看起来像这样。 我想按data_timestamp值对data_value进行分组,以便对时间戳进行分组,并且每个data_id的每个data_value都显示在列中,而不是行中。 以下是我正在使用的查询… 但这不是我想要的,因为只要一个data_id没有值,现在就有N