【问题标题】:SQLite Handle Max() TiesSQLite 处理 Max() 关系
【发布时间】:2017-09-05 21:53:38
【问题描述】:

我在返回一个成功返回最大值的所有关系的查询时遇到了问题。最大值来自内部查询。我的sql如下:

SELECT NAME, 
       Max(y.val) 
FROM   (SELECT NAME, 
               Count(*) AS val 
        FROM   numbers N 
        JOIN cards C 
          ON C.mid = N.mid 
        GROUP  BY NAME) AS y 

目前它只返回一个最大值,但如果有平局,我需要它返回所有值。任何人都可以使用 sqlite 帮助我解决这个问题吗?

【问题讨论】:

  • 向我们展示数据库架构、示例数据和预期输出。请阅读How-to-Ask 这里是START 了解如何提高问题质量并获得更好答案的好地方。

标签: sql sqlite


【解决方案1】:

这里的想法是隔离 y 并重新使用它来找到最大计数,然后匹配具有相同计数的所有行:

WITH y as (SELECT name, COUNT(*) as val 
          FROM Numbers N 
          JOIN Cards C on C.mid = N.mid
          GROUP BY name) 
SELECT name, val 
FROM y 
WHERE (SELECT MAX(val) from y)=val;

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 2023-03-17
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 2017-01-31
    • 2021-11-21
    相关资源
    最近更新 更多