从两个表中选择两列无效

时间:2018-06-28 07:29:11

标签: mysql

我正在尝试获取不同表中的登录名和计数,但是它不起作用

这是我在做什么:

SELECT login AS "Login", COUNT(posted) AS "Nombre" FROM members, wallmsg;

我收到以下错误:

ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'sc_social.members.login'; this is incompatible with sql_mode=only_full_group_by

还有另一种方法吗?

3 个答案:

答案 0 :(得分:0)

要从SQL的两个表中获取数据,首先需要在表之间添加联接。 每当您使用任何聚合函数(例如“ Count”)时,都必须使用“ GroupBy”子句。     SELECT m.login,COUNT(w.posted)来自成员m内部连接wallmsg w on m.SomeId = w.SomeId 通过m.login分组

答案 1 :(得分:0)

您已在 ONLY_FULL_GROUP_BY 上设置了SQL模式,应通过以下方式进行更改:

SET sql_mode = ''

并查看此answer以获得详细说明

答案 2 :(得分:0)

尝试这样的事情:

SELECT
  Orders.OrderID,
  Customers.CustomerName,
  Orders.OrderDate
FROM Orders
  INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;