Sql 仅显示列中的最高值

Sql 仅显示列中的最高值,sql,Sql,我希望只显示“租用”别名中的最高值 SELECT Registration, COUNT(1) AS RENTED FROM I_Booking GROUP BY Registration ORDER BY RENTED DESC 不确定从这里到哪里如果您试图获得发生次数最多的注册,请按顺序使用COUNT1,而不是别名: SELECT Registration,COUNT(1) AS RENTED FROM I_Booking GROUP BY Registration ORDER BY CO

我希望只显示“租用”别名中的最高值

SELECT
Registration,
COUNT(1) AS RENTED
FROM
I_Booking
GROUP BY Registration
ORDER BY RENTED DESC

不确定从这里到哪里

如果您试图获得发生次数最多的注册,请按顺序使用COUNT1,而不是别名:

SELECT Registration,COUNT(1) AS RENTED
FROM I_Booking
GROUP BY Registration
ORDER BY COUNT(1) DESC

或许您可以尝试以下方法:

      SELECT  TAB.Registration, MAX(TAB.RENTED)
      FROM (
        SELECT
            Registration,
            COUNT(1) AS RENTED
            FROM
            I_Booking
            GROUP BY Registration ) TAB
      GROUP BY TAB.Registration
添加TOP 1应足以在“租用”列中保留最高值,如果这是您想要的:

SELECT TOP 1
  Registration,
  COUNT(1) AS RENTED
FROM
  I_Booking
GROUP BY Registration
ORDER BY RENTED DESC

最大注册数是您想要显示的吗?租用列显示每个注册数的显示次数。只是想让租借列只显示哪些注册号出现的次数最多。你在定义中只使用列中的最高值是什么意思?只是尝试了一下,仍然显示的值不是最大值。@KromStern:我的答案中没有发现任何错误。这会产生与OP相同的结果。您确定这是一个改进/答案吗?