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

总和直到一定点-MySql

申屠泉
2023-03-14
问题内容

如何查询和显示记录直到达到一定数量?

假设您要选择学生,直到学生的总金额达到1000?

加成

 Student ID   Student Name   Student Money 
 ---------    -----------     --------------
   1           John            190
   2           Jenny           290
   3           Ben             200
   4           Andy            120
   5           Lynna           300

如果我想停在500,我会得到记录1和2(190 + 290)。如果我想停在1000,我会得到记录1直到4。


问题答案:

SQL表没有“内部”顺序,因此您必须指定一些ORDER BY子句以赋予“直到”短语任何含义。鉴于此,可以使用来自学生ORDER BY xxx LIMIT
N的SELECT SUM(money)获得``前’‘N条记录的总和。使用具有自然顺序整数的辅助表INTS,可以找到最合适的最大值N通过类似以下内容:

SELECT MAX(N) FROM INTS
WHERE (SELECT SUM(money) FROM student ORDER BY xxx LIMIT N) < 1000

最后,将其作为整个SELECT中LIMIT子句的另一个嵌套SELECT插入。但是,所有这些气味似乎都相当低效!通常,当嵌套SELECT看起来太多而又太慢时,一种替代方法是分步骤进行:首先使用“渐进和”构建一个临时表,然后使用该表来帮助您找到所需的限制。



 类似资料:
  • 我有一个用户批次表。我只想选择,直到我的总金额达到一定金额。 考虑以下查询: 查询结果为: 我想在表格上做一个选择,直到余额总数为6。然后只返回id 1,2: 余额总计为1的另一个示例。那么应该只返回ids 1: 余额合计为11的示例。应该只返回ids,3,4: 所以,在那之后,我需要用FORUPDATE ex锁定这些行: 我尝试了窗口功能,但它不允许锁定(更新)。感谢任何帮助。

  • 问题内容: 我工作的一个SQL查询的表有两列,并应返回的总和列的值,直到达到它也应该返回的值列在该河段的排序条件为 例如,我的数据如下 在上表中,金额总计应在按日期排序之后进行计算,并且一旦金额达到5000分,应返回金额及其关联的日期的总计。 排序数据后,它变成如下所示 查询应返回以下结果 上述结果是因为总和达到在 我可以知道一种更好的方法来处理它吗 问题答案: 对于SQL Server,您可以使

  • 本文向大家介绍顶点定理的总和,包括了顶点定理的总和的使用技巧和注意事项,需要的朋友参考一下 如果G =(V,E)是顶点为V = {V 1,V 2,... V n }的无向图,则 n ∑ i = 1度(V i)= 2 | E | 推论1 如果G =(V,E)是顶点V = {V 1,V 2,…V n }的有向图,则 n ∑ i = 1度 +(V i)= | E | = n ∑ i = 1度 -(V i

  • 问题内容: 我已经在SF中看到了这个问题,但是我是菜鸟,只是无法让我的头脑变得模糊。因此,如果您想重复,请原谅我。 我的样品表 我需要获取“ UNTIL”行,对于特定的供应商ID,“ QTY”的累计总数按降序等于或大于5。 在此示例中,对于供应商1,它将是ID为5和2的行。 问题答案: 这个怎么样?使用两个变量。 SQLFIDDLE演示 询问:

  • 我创建了一个垂直,使用并交换X和Y坐标。(我使用这种方法) 现在,我想让它做的是在某一点停止滚动(我想让最后一个视图只占屏幕高度的65%,但全宽)。通常,在这种情况下,我会覆盖< code>getPageWidth(),但是由于我的宽度和高度现在有点混淆,当我这样做时,我的视图占据了屏幕高度和宽度的65%。 那么我应该如何解决这个问题呢? 谢谢! MyViewPager.java MyPagerA

  • 本文向大家介绍Sql Server的一些知识点定义总结,包括了Sql Server的一些知识点定义总结的使用技巧和注意事项,需要的朋友参考一下 数据库完整性:是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性   实体完整性(Entity Integrity 行完整性):实体完整性指表中行的完整性。主要用于保证操作的数据(记录)非空、唯一且不重复。即实体完整性要求每个关系(表)有且仅有一个主