python - MySql 5.7 错误(这与 sql_mode=only_full_group_by 不兼容)

标签 python mysql group-by

我看到几个回答说修复您的查询,但我的查询中有 GROUP BY CONCAT,但我不确定如何修复它。

 cur.execute('''
    SELECT user_id, symbol FROM first_sweep    
    WHERE date_time BETWEEN %s AND %s AND action = 'buy'
    GROUP BY CONCAT(user_id, "-",symbol) 
    ''', (min_rng, max_rng,))    
    fs = cur.fetchall() 

我得到的完整错误是:

(1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'stockpicker.first_sweep.user_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by")

我正在使用 Ubuntu 18.04、MySql 5.7 和 Python 2.7

最佳答案

这个有效:

SELECT 
  CONCAT(user_id, '-', symbol) as usym, 
  MAX(user_id) AS user_id, 
  MAX(symbol) AS symbol
FROM first_sweep    
WHERE date_time BETWEEN %s AND %s AND action = 'buy'
GROUP BY usym

关于python - MySql 5.7 错误(这与 sql_mode=only_full_group_by 不兼容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54294305/

相关文章:

python - 找到回文python空间复杂度?

sql - 如何在 SQL 中将字符串排序为数字?

mysql - 获取平均日或周值

sql - 我应该如何修改这个 SQL 语句?

mysql - 按行显示配置文件内容

sql-server - Azure SQL 数据库分组依据不排序

python - 用于在内存中维护表格数据的数据结构?

python - 使用 Python 的 AMP 堆栈

python - 在Python包中导入一个上两下一层目录的模块

php - 使用 PHP 在一条 SQL 语句中进行多个查询