这是我的sql语句
SELECT ut.*, GROUP_CONCAT(ut.bet_group_id)
FROM users_transaction AS ut
WHERE ut.user_id = 3
GROUP BY ut.user_id
ORDER BY ut.id DESC;
我的is目标是通过user_id
来group_concat
bet_group_id
,但是当我执行上面的查询时,我得到以下错误选择列表的表达式#1不在GROUP by子句中,并且包含非聚合列'P2P_trade.ut.id',该列在功能上不依赖于GROUP by子句中的列;这与sql_mode=only_full_group_by
不兼容
这是我的样品表
id user_id bet_group_id
1 3 2
2 3 1
3 3 2
4 3 null
id user_id bet_group_id type_id
1 3 2,2
2 3 1
4 3 null
语法错误是因为group by
必须在order by
之前,尽管错误消息与您显示的错误消息不同(它应该在“group by”附近显示)。
为了为每个
bet_group_id
获得单独的行,您需要将该列包含在GROUP BY
子句中。
并且要按照您想要的顺序获取行,不要使用
desc
。
SELECT ut.*, GROUP_CONCAT(ut.bet_group_id)
FROM users_transaction AS ut
WHERE ut.user_id = 3
GROUP BY ut.user_id, ut.bet_group_id
ORDER BY ut.id
如何用基础的sql语句实现group_concat函数的效果?
问题内容: 我刚刚发现了这个非常有用的MySQL函数。它对我来说是如此有用且过于简化,以至于我实际上不敢使用它。主要是因为自从我开始进行网络编程以来已经有一段时间了,而且我从未在任何地方见过它。很棒的用法示例如下 Table会为每个客户(唯一的ID)保留一行(您不说…)。 表有3列,而。 现在,如果我想从表及其余额中获取用户15 ,使用数组覆盖的“旧”方法,则必须使用以下SQL 然后在php中,我
问题内容: 如果我在MySQL中有一个包含以下数据的表: 如何将其转换为以下格式? 我想我必须使用。但是我不确定它是如何工作的。 问题答案: 您可以在此处看到它的实现: Sql Fiddle演示 。正是您所需要的。 *分两步 *更新 拆分。首先,我们得到一个表,该表具有一个唯一值[Name,id]的所有值(用逗号分隔)。然后从获得的表中,将所有名称和值作为针对每个唯一id的单个值获得。请参见 SQ
我需要在Grails中使用GROUP_CONCAT聚合函数,最好来自HQL,但也可以使用标准。 我有以下疑问: } 还是没运气。我得到: -[METHOD_CALL]methodnode:'('+-[METHOD_NAME]identnode:'group_concat'{originaltext=group_concat}-[EXPR_LIST]sqlnode:'expr list'-[DOT]
问题内容: 我在MySQL中使用group_concat编写了一个查询,例如 并给出我的预期结果。 现在,我想使用休眠条件编写相同的查询。 问题答案: 简单的答案是 否定的 为什么? Hibernate仅支持在多个数据库中使用的通用功能/语法。Microsoft SQL Server中没有任何功能,也可能在其他数据库中。 解决方案: 您必须将其作为简单SQL查询执行。
问题内容: 我有一张桌子,像: 我试过了: 但我想按顺序获取视图,例如: 问题答案: 您可以通过以下方式在函数内部使用: