<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      mysql報(bào)錯Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column問題

      今天sql一對多關(guān)聯(lián)查詢發(fā)現(xiàn)一個錯誤,提示說查詢的字段不在group by的子句中,因?yàn)閟ql_mode是only_full_group_by。

      報(bào)錯信息:

      #1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xt_sc.t_comment.content' which is not 
      functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

       

      執(zhí)行的sql語句

       

      SELECT 
          n.id,
          n.title,
          n.qq,
          u.username,
          c.content,
          c.create_time 
      FROM 
          `t_need` AS `n` 
      LEFT JOIN `t_users` `u` ON `n`.`user_id`=`u`.`id` 
      INNER JOIN ( SELECT max(id) as id,n_id,content,create_time FROM `t_comment` GROUP BY `n_id` ) AS `c` ON `n`.`id`=`c`.`n_id` 
      WHERE  `n`.`status` = 2  AND `n`.`form` = 1
      GROUP BY `n`.`id` 
      ORDER BY `stick` DESC,`n`.`update_time` DESC 
      LIMIT 0,30

       

      問題出現(xiàn)的原因:
      MySQL 5.7.5及以上功能依賴檢測功能。如果啟用了ONLY_FULL_GROUP_BY SQL模式(默認(rèn)情況下),MySQL將拒絕選擇列表,HAVING條件或ORDER BY列表的查詢引用在GROUP BY子句中既未命名的非集合列,也不在功能上依賴于它們。(5.7.5之前,MySQL沒有檢測到功能依賴關(guān)系,默認(rèn)情況下不啟用ONLY_FULL_GROUP_BY。有關(guān)5.7.5之前的行為的說明,請參見“MySQL 5.6參考手冊”。)

      查看mysql本地的sql_mode命令:

       

      select @@sql_mode;
      show variables like 'sql_mode';

       

      輸出sql_mode的值:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZER
      _DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

      確實(shí)第一個是only_full_group_by,這個模式說明對于GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現(xiàn),那么將認(rèn)為這個SQL是不合法的,因?yàn)榱胁辉贕ROUP BY從句中。就是說不允許select的列沒有出現(xiàn)在group by的子句中。

      在5.7.5以上,sql的默認(rèn)模式配置是ONLY_FULL_GROUP_BY。


      解決辦法1:
      簡單粗暴的解決方法是刪除ONLY_FULL_GROUP_BY,不推薦
      在數(shù)據(jù)庫控制臺輸入命令:SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

      然后再執(zhí)行查詢語句,可以正常查詢出結(jié)果

      解決辦法2:

      優(yōu)化sql語句

       

      SELECT 
          n.id,
          n.title,
          n.qq,
          u.username,
          c.content,
          c.create_time 
      FROM 
          `t_need` AS `n` 
      LEFT JOIN `t_users` `u` ON `n`.`user_id`=`u`.`id` 
      INNER JOIN ( 
          SELECT a.id,a.n_id,a.content,a.create_time FROM `t_comment` AS `a`
          LEFT JOIN(
              SELECT max(id) as id,n_id FROM `t_comment` GROUP BY `n_id` 
          ) AS `b` ON `b`.`n_id`=`a`.`n_id` 
          WHERE `a`.`id` = `b`.`id`
      ) AS `c` ON `n`.`id` = `c`.`n_id`
      WHERE  `n`.`status` = 2  AND `n`.`form` = 1
      GROUP BY `n`.`id` 
      ORDER BY `stick` DESC,`n`.`update_time` DESC 
      LIMIT 0,30   

       

      執(zhí)行以上查詢語句,可以正常查詢出結(jié)果。

       

      done!

       

      posted on 2020-06-05 14:15  kingofyz  閱讀(5302)  評論(0)    收藏  舉報(bào)

      導(dǎo)航

      主站蜘蛛池模板: 精品无码国产不卡在线观看| 安新县| 久久亚洲色WWW成人男男| 中文日产幕无线码一区中文| 日韩一区在线中文字幕| 国产精品国产三级在线专区| 国产在线国偷精品免费看| 日本熟妇色xxxxx日本免费看| 熟妇人妻久久春色视频网| 国产亚洲精品中文字幕| 免费区欧美一级猛片| 邮箱| 亚洲综合精品第一页| 忘忧草影视| jizz视频在线观看| 国产另类ts人妖一区二区| 日韩精品一区二区亚洲专区| 亚洲成在人线AⅤ中文字幕| 国产亚洲精品AA片在线爽| 白嫩少妇无套内谢视频| 亚洲午夜无码久久久久小说| 狠狠躁夜夜躁人人爽天天69| 亚洲欧美精品一中文字幕| 精品国产不卡在线观看免费| 久久精品国产只有精品96| 免费人成在线观看网站| 韩国精品福利视频一区二区| 精品国产AⅤ无码一区二区| 麻豆精品一区二区综合av| 日韩人妻无码一区二区三区| 少妇厨房愉情理9仑片视频| 国产高清国产精品国产专区| 久久精品国产久精国产果冻传媒 | 国产熟睡乱子伦视频在线播放| 国产成人午夜福利院| 亚洲天堂成人网在线观看| 天天做天天爱夜夜爽导航| 综合图区亚洲欧美另类图片| 亚洲国产一区二区三区亚瑟| 汉沽区| 免费国产高清在线精品一区|