当前位置: 首页 > 面试题库 >

如何在MySQL中按SUM()排序?

轩辕季同
2023-03-14
问题内容

我有一张桌子:“ ID名称c_counts f_counts”

我想按顺序排序所有记录,sum(c_counts+f_counts) 但这不起作用:

SELECT * FROM table ORDER BY sum(c_counts+f_counts) LIMIT 20;


问题答案:

别忘了,如果要混合使用分组(即SUM)字段和非分组字段,则需要对非分组字段之一进行GROUP BY。

尝试这个:

SELECT SUM(something) AS fieldname
FROM tablename
ORDER BY fieldname

或这个:

SELECT Field1, SUM(something) AS Field2
FROM tablename
GROUP BY Field1
ORDER BY Field2

而且,您始终可以执行以下派生查询:

SELECT
   f1, f2
FROM
    (
        SELECT SUM(x+y) as f1, foo as F2
        FROM tablename 
        GROUP BY f2
    ) as table1
ORDER BY 
    f1

许多可能性!



 类似资料:
  • 本文向大家介绍如何在MySQL中按分组字段排序?,包括了如何在MySQL中按分组字段排序?的使用技巧和注意事项,需要的朋友参考一下 要对分组字段进行ORDER BY,请将ORDER BY CASE与一起使用。CASE评估不同的条件,而ORDER BY则按升序或降序对值进行排序。MySQL用于查找匹配项。 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记

  • 问题内容: 我正在努力解决这个问题。我有这样一张桌子。 我想查询表,结果必须是这样。 查询: 如果该列的值为’A,B,C,D’,则可以正常工作。在某些情况下,某些列的顺序可能在table中没有价值。在这种情况下,我想为其设置0并构造一个结果。 表中没有D。因此,将其设置为“ 0”。 显示创建表输出 问题答案: 怎么这样:

  • 问题内容: 如何按包含星期几名称的varchar列排序mysql结果? 请注意,MONDAY应该排在第一位,而不是SUNDAY。 问题答案: 根据Williham Totland的建议重新设计该列,或者进行一些字符串解析以获取日期表示形式。 如果该列 仅 包含星期几,则可以执行以下操作:

  • 问题内容: 有一个字段’noticeBy’枚举(’email’,’mobile’,’all’,’auto’,’nothing’)NOT NULL默认’auto’。众所周知,按ENUM字段排序相对于其索引执行。但是,如何通过其值进行排序? 问题答案: 如“ 排序”中所述: 值根据其索引号排序,索引号取决于列规范中列出的枚举成员的顺序。例如,在for 之前排序。空字符串排在非空字符串之前,值排在所有其

  • 问题内容: 目前,我正在执行搜索功能。可以说在我的数据库中,我有以下数据: 关键字1 关键字2 关键字3 关键的东西 钥匙 然后用户输入:“ Key”作为要搜索的关键字。这是我当前的查询: 基本上,我有2个问题: 如何按相似性排序(排序)。从上面的示例中,我希望“ Key”作为我的第一个结果。我当前的结果是:Keyword1,Keyword2,Keyword3,Keysomething和Key 我

  • 我有以下SQL查询。 我已经使用jpa标准构建器动态构建查询。 ORDER BY子句的表达式#1不在GROUP BY子句中,并且包含非聚合列“COL B”,该列在功能上不依赖于GROUP BY子句中的列;这与sql_mode=only_full_group_by不兼容 我理解在这种模式下,sql验证查询,我的查询失败。如何使用jpa标准生成器创建别名,以便执行的实际语句包含sum列的适当别名? 注