问题标签 [sql-subselect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL subselect 语句在某些机器上非常慢
我有一个 sql 语句,我从表(机器)中获取所有 Id 的列表。
然后需要(事件)中另一行的最新实例,其中 id 匹配所以一直在进行子选择。
我需要很多与 id 匹配的字段的最新实例,因此在这个单一语句中一个接一个地进行这些子选择,因此最终得到与此类似的结果......
这行得通,结果很准确,因为事件表有数百万条记录,它变得非常慢。Machine 表平均有 100 条记录。
有没有更好的子选择解决方案?也许做内部连接或存储过程?
帮助表示赞赏:)
python - 与此 SQLite 语句等效的正确 SQLAlchemy 是什么?
我正在尝试获取每个团队的最新变化。
SQLite 语句
按预期工作。
SQLAlchemy 实现
无论出于何种原因,我必须使用排序asc()
而不是desc()
获得相同的结果,这就是为什么我怀疑我的实现是否正确。
环境
Python:3.8.0
SQLAlchemy:1.3.23
复制
架构:
记录:
解决
方法 谢谢大家!
postgresql - 检查大表中是否存在许多 FK 值的最快方法是什么?
我有 2 张桌子,大约是这样的:
我需要查询子表的子集以了解不同的条件(位置、日期范围、值范围、类别)。作为其中的一部分,我从父表中筛选出位置,然后想要获取所有匹配的记录
显而易见的方法是:
Child_table
拥有超过 2 亿条记录,按年份划分。它具有 parent_key 的索引,并且其他列都按该顺序包含在索引中。
Parent_table
有 <10k 记录。每个父级可以轻松拥有 > 1m+ 子记录(每个父级的子记录数广泛分布从几百到百万+)。在任何查询范围内(因此包含在该子选择中)的父集合可能从 1 到数百。
数据库目前是 Postgres 10。
该查询对于几年/分区的范围是有效的,但随着范围内日期数量的增加而变得明显变慢。
我可以自由调整索引和更改查询。有没有更有效的方法来做这个查询? (将两张表展平,并将位置放在子表上并在那里进行地理交叉点,使整个事情变慢了几个数量级)
sql - 得到 20 条 sql 查询的最佳 8 条结果?
我需要获得最后 20 个条目中的 8 个最佳结果。要获取最后 20 个条目,我使用以下查询:
但是现在应该有一个子选择来获得 8 个最好/最低的 lid_strokeplay_score 结果。
sql - SQL:如何将 SQL 列的值作为过滤器传递给 XML 并从 XML 中获取数据
问题:我想检索某个标签的值,该值与 XML 中同一组中另一个标签的最大值相关。例如,在下面的 XML 中,我想在整个 XML 中检索 Tag2a 的值以获得 Tag2b 的最大值。这需要使用 SQL 检索。尝试使用以下空值时,将作为输出返回。
我正在尝试什么:
如果有人能就如何解决这个问题提出建议,那就太好了。
XML 示例
sql - SQL:在选择中选择作为子查询
我有以下声明:
返回此输出:
我想将此结果添加到另一个选择语句中:
所以结果将是:
列名 | 失踪 | 总数 | 唯一计数 | 最短长度 |
---|---|---|---|---|
产品 | 5.100 | 181186 | 15 | 附言 |
我应该在我的初始选择语句中添加什么?
oracle - Oracle:主查询中的值在子查询中不可用
我有这个查询,它的一列是一个子查询,它应该使用 listagg 函数带来一个值列表。该列表的起点为S.ID_ORGAO_INTELIGENCIA
值。该列表应该是,它始终具有值。
listagg 函数正在使用一个内联视图,该视图使用窗口函数来创建列表。
问题是该aproPrec
列总是null
作为其结果返回。
如果我强制标准进行S.ID_ORGAO_INTELIGENCIA
硬编码,则列表将返回其真实值。
如果我碰巧:
START WITH oc1.ID_ORGAO_INTELIGENCIA = S.ID_ORGAO_INTELIGENCIA
对此:
START WITH oc1.ID_ORGAO_INTELIGENCIA = 311
其中 311 是该S.ID_ORGAO_INTELIGENCIA
列真正具有的值。
有没有办法让这个查询像“我认为”一样工作?
sqlite - sqlite 计入列
我有 2 个查询,2 个计数。但是当我写我的语句 count(), count() 时,我在两列中得到相同的计数。你能帮帮我吗?
我已经尝试了不同的方法(最后一个例子)
这是我的两个单独的查询
简而言之,我得到的是:
但它应该给出实际结果:
我尝试了什么:
sql - SQL - 子选择、联合和使用函数
我有 2 个查询,1 个用于导出整体订单,另一个用于获取已交付的订单。列名与订单和值相同。只有条件在子查询中会有所不同。我想分别获取交付的订单和价值以及单独的整体订单和价值。之后,我想将交付的价值与总价值相除,并将其作为百分比值。只有一张桌子,只是条件不同。我希望从 2021 年 1 月到现在这个月明智。这是我尝试过的不起作用的示例。请帮我。
例子: