我需要拥有“ RouteID”的最高记录,并且其总数也同时是“经济价格”最多的。

我已经尝试过此代码:

SELECT RouteID
     , Count (RouteID )
  FROM [Session6].[dbo].[Schedules]
 Group
    by RouteID
 Order
    by count(RouteID ) DESC


但是结果是这样的:

Result

结果仅是“ RouteID”的最高计数,而不是“ EconomyPrice”的最大和

这是表:

Table

最佳答案

那么,为什么不简单地总结EconomyPrice而不是计算RouteID呢?

SELECT
    RouteID,
    SUM(EconomyPrice) AS TotalEconomyPrice
FROM
    [Session6].[dbo].[Schedules]
GROUP BY
    RouteID
ORDER BY
    SUM(EconomyPrice) DESC


您不能同时将具有最高计数和最高总经济价格的路线置于顶部,因为不同的路线ID可能会满足这些条件。这不是SQL的限制。这简直是​​不合逻辑的。

您也可以使用平均值AVG(EconomyPrice)作为度量。

关于mysql - 如何获取最高记录并在sql中有其他条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47499459/

10-10 16:20