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

SQL选择最大数量

空英逸
2023-03-14
问题内容

我在表中有三列:id,街道名称,计数。对于某些ID,不只是一个街道名称。Count告诉将每条街道分配给ID的频率。我怎样才能只获得编号最高的ID和街道名称。

表格示例:

id     streetname     count
1      street1        80
1      street2        60
1      street3        5
2      street4        10
2      street5        6

结果应该是这样的:

id     streetname
1      street1
2      street4

提前致谢!


问题答案:

您没有指定正在使用的数据库,但是应该可以使用以下数据库:

select t1.id, t1.streetname, t1.count
from yourtable t1
inner join
(
  select id, max(count) max_count
  from yourtable
  group by id
) t2
  on t1.id = t2.id
  and t1.count = t2.max_count

请参阅带有演示的SQL
Fiddle
。注意,您将必须count使用MySQL的反引号或数据库使用的任何字符来转义保留字来转义列名。我的建议是避免对列和表名使用保留字。



 类似资料:
  • 如何查询我的sql server以仅获取数据库的大小? 我用了这个: 我得到了这个: 它返回我几个列,我不需要,也许有一个技巧,从这个存储过程中选择database_size列? 我还尝试了这段代码: 它给了我这个结果: 所以我写了这个: 我得到:1183 所以它是有效的,但也许有一个合适的方法来得到这个?

  • 问题内容: 我试图一次从一张桌子上得到2行。上周的最小日期时间(今天-7)和最晚的日期(今天)的一个。 我的桌子: 我可以通过以下方式选择上周的数据: 但我只想要第1行和第125行,因为这些是用于计算的行。所以我的问题是: 如何从上一个查询的结果中选择2行(带有MIN和MAX日期)? 问题答案: 您可以使用此: 编辑: 由于两台计算机完全有可能具有相同的值,因此应更新查询以在子句中也包含过滤器。我

  • 问题内容: 我有一个如下查询: 结果如下:中心名称和交换数量 我喜欢从此结果(第二行)中选择最大值,除了排序和选择第一行之外,还有谁能帮助我进行MAX查询。 问题答案: 那应该工作

  • 我有一个表格,其中包含根据订购的数量和下订单的客户类型的特定项目的价格... 我在SQL中的WHERE子句中遇到问题,无法选择客户根据订购数量获得最佳价格的行。规则是,他们必须至少满足数量,才能获得该定价层的价格。如果他们的订单低于最低数量,那么他们将获得第一个数量的价格(本例中为10),如果他们的订单超过最大数量(本例中为30),则他们将获得该价格。 例如如果一家餐厅订购26单位奶酪,则应选择I

  • 问题内容: 这个问题已经在这里有了答案 : 获取SQL中另一列的每个值的最通用值 (9个答案) 6年前关闭。 我对SQL刚起步(我正在使用MySQL),需要一些帮助。我目前正在尝试从称为PERSON的表中选择最常见的年龄。假设PERSON的AGE列的值为:10、10、20、20、30。查询应返回值10和20。 以下查询仅检索第一行(20): 我的另一个想法是尝试类似的方法: 这将返回一个错误,指出