当前位置: 首页 > 知识库问答 >
问题:

按最大值左加入组-如何读取记录[重复]

钱浩荡
2023-03-14

我不能从列数据中读取记录,为什么?代码:

$_query = mysqli_query($mysqli , "SELECT  o.id,o.surname,o.name,so.data FROM mowcy AS o
          LEFT JOIN zeb AS so ON so.id=o.id AND so.mowca=o.mowca 
           WHERE 
             o.archiwum = 0 
             AND o.id<>1
             AND o.mowca = 3

              GROUP BY o.id
               ORDER BY ISNULL(o.id) desc, MAX(so.data) ") 
                or die(mysqli_error($mysqli));    

显示错误:

列表不在GROUP BY子句中,并且包含未聚合的列“rafik73_tereny.so.data”,该列在功能上不依赖于GROUP BY子句中的列;这与sql\u mode=only\u full\u group\u by不兼容

共有1个答案

爱茂勋
2023-03-14

像这样尝试;

SELECT  o.id,MAX(so.data) FROM mowcy AS o
          LEFT JOIN zeb AS so ON so.id=o.id AND so.mowca=o.mowca 
           WHERE 
             o.archiwum = 0 
             AND o.id<>1
             AND o.mowca = 3
              GROUP BY o.id
               ORDER BY ISNULL(o.id) desc, MAX(so.data)

当对查询中的某些内容进行分组时,错误会指向您,因此您应该只选择对字段和聚合列进行分组。

 类似资料:
  • 问题内容: 我有一个看起来像这样的表: 预期结果: 我该如何使用GORM来获得此结果? 在纯SQL中,这是使我获得所需结果的查询: 我尝试过的 但是我不知道如何从投影中获取更多列?即列 问题答案: 如果您使用的是Grails 2.0或更高版本,则可以使用分离的条件来执行此操作: 该类的显式使用有点丑陋,但还算不错。该查询也可以作为Where查询使用,但是似乎存在一个错误,这意味着您不能对聚合函数使

  • 如何获得包含每个分组集的最大值的行? 关于这个问题,我见过一些过于复杂的变体,但没有一个有好的答案。我试着举一个最简单的例子: 给出一个类似下面的表,包含person,group,和age列,如何得到每个组中最年长的人?(一组内的平局应给出第一个按字母顺序排列的结果) 所需的结果集:

  • 问题内容: 这个问题已经在这里有了答案 : 使用Java在原始数组中查找最大值/最小值 (15个答案) 5年前关闭。 这是我的代码。我需要获取数组的最小值,最大值才能为我获取范围,无论何时输入数字,最小值均为0。请帮助我。谢谢:) 问题答案: 同样,通过更改较小的符号可以找到最小值。

  • 问题内容: 如何获得包含每个分组集最大值的行? 我在这个问题上看到了一些过于复杂的变体,但都没有一个很好的答案。我尝试将最简单的示例放在一起: 给定下面的表格,其中包含“人员”,“组”和“年龄”列,您将如何获得每个组中年龄最大的人?(组内的平局应该给出第一个字母顺序的结果) 所需的结果集: 问题答案: 在mysql中有一种超简单的方法: 这工作,因为在MySQL中你被允许 不 聚集非组逐列,在这种

  • 问题内容: 我有一个具有相似结构和数据的示例表,如下所示: 表在每个学生出现的所有科目中都有每个学生的合并标记。 请帮助我,编写一个查询以提取每个学生( 不分学科/其他学生 )获得的MAXIMUM分数,如下所示: 按S_Name和Max(MARK_Value)分组 问题答案: 使用窗口功能 或者您可以使用相关的子查询

  • 以我的例子为例,有一个car对象,并发现基于模型(group by)的最小和最大价格值。 但我找不到哪些汽车物品有最大和最小的价格。我怎么能那样做?