Mysql 仅获取customer_ID的一个值,其中多行表示where
嗨,这都是我的查询-如果我运行这个,我会得到多个客户id,但我只想选择一个客户idMysql 仅获取customer_ID的一个值,其中多行表示where,mysql,group-by,dbvisualizer,mysql-error-1055,Mysql,Group By,Dbvisualizer,Mysql Error 1055,嗨,这都是我的查询-如果我运行这个,我会得到多个客户id,但我只想选择一个客户id SELECT payments.customer_id, payments.reason, payments.date FROM payments WHERE reason like '%error%' ORDER BY payments.date DESC 这是我在尝试使用group by时收到的错误消息 SELECT列表的表达式2不在GROUP BY子句中,并且包含未聚合的
SELECT payments.customer_id,
payments.reason,
payments.date
FROM payments
WHERE reason like '%error%'
ORDER BY payments.date DESC
这是我在尝试使用group by时收到的错误消息
SELECT列表的表达式2不在GROUP BY子句中,并且包含未聚合的列“reason”,该列在功能上不依赖于GROUP BY子句中的列;这与错误号1055 sqlstate 42000的sql\u mode=only\u full\u group\u不兼容
DISTINCT将为您解决此问题您是否需要以下信息-
SELECT p.customer_id,
p.reason,
MAX(p.date) max_date
FROM payments p
WHERE p.reason like '%error%'
GROUP BY p.customer_id,
p.reason
ORDER BY max_date DESC
感谢Arun和Badmous-我已经尝试使用distinct,但仍然获得了多个客户ID。我认为这可能是因为同一客户多次出现拒绝原因。我正在尝试为一个客户获取一个错误。\u id您是否可以添加一些数据,并且您的查询不包含任何Group By子句,但需要数据,以便我们可以看到您得到的结果以及结果来自何处。这始终是个问题,所以你必须做一些工作并匿名。我想我需要一个带有客户id的group by,但它会不断抛出一个错误没有任何数据的gues是很难的,但按客户id分组是一个很好的开始,并尝试对其他列(如group:concat)进行聚合
SELECT p.customer_id,
p.reason,
MAX(p.date) max_date
FROM payments p
WHERE p.reason like '%error%'
GROUP BY p.customer_id,
p.reason
ORDER BY max_date DESC