问题标签 [aggregate-filter]
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 - 使用其他(不同的)过滤器聚合列
这段代码按预期工作,但我很长而且令人毛骨悚然。
如您所见,它由 3 个用于检索的重复部分组成:
- 玩家姓名和他们玩的游戏数量
- 玩家姓名和他们赢得的游戏数量
- 玩家姓名和他们输掉的游戏数量
每一个也由两部分组成:
- 玩家姓名和他们作为 player_1 参加的游戏数量
- 玩家姓名和他们作为 player_2 参加的游戏数量
这怎么能简化呢?
结果如下所示:
ruby-on-rails - RAILS SQL 子查询优化
我有一个如下所示的查询:
我在想有一种方法可以创建一个新的子查询,而不是
查询从存储的表中选择
只会被查询一次。然后这些WHERE Stocks.status = ?
东西将应用于该存储的表。
有帮助吗?
sql - 使用不同 WHERE 子句获取聚合的子查询
我正在执行此查询,其中我从 Adwords 报告中获取了一些我保留的数据:
该表还有一个名为 的列network
。此列可以是“展示广告网络”或“搜索网络”。此查询聚合来自两个网络的所有内容,但我想在聚合查询中添加另一列,称为Ctr
.
如何获得Ctr
仅在同一查询中聚合 network = 'Search Network' 的数据的列?
postgresql - 使用多表子句将多个行值选择为单行
我搜索了论坛,虽然我看到了类似的帖子,但它们只解决了我需要制定的完整查询的部分内容(array_aggr、存在的位置、连接等)。如果我发布的问题已得到解答,我将很乐意接受对这些主题的引用。
我确实找到了这个线程......这与我需要的非常相似,除了它是用于 MySQL 的,而且我一直遇到错误,试图让它进入 psql 语法。希望有人可以帮助我把所有东西都放在一起。这是场景:
属性
用户属性
下面是数据的一个小例子:
属性
UserAttribute -- 每个 user_id 最多可以有 15 个 attrib_id's/value's
这就是我要找的
结果
如图所示,我正在寻找包含以下内容的单行: - UserAttribute 表中的 user_id - UserAttribute 表中的属性值
注意:对于 Attribute 表中的两个特定属性名称,我只需要 UserAttribute 表中的属性值
同样,我们将不胜感激任何对现有解决方案的帮助或参考。
更新:
@ronin 提供了一个查询,可以获得所需的结果:
在此基础上,我尝试在 'WHEN' 条件(针对 ua.value)中添加一些 'LIKE' 模式匹配,但一切都以 'FALSE' 值结束。如果我无法弄清楚,将开始一个新问题,看看是否可以合并。谢谢大家的帮助!!
sql - PostgreSQL - 带有错误计数输出的左连接
我正在尝试设置一组简单的表格来显示锦标赛的结果 - 我有以下结构:
我已经输入了一些测试数据,如下:
我正在尝试执行一个查询,为每个玩家提供以下结果:
id,名称,matched_won,matches_played。
到目前为止,我有以下查询:
而且,不幸的是,我得到的输出不正确(每个玩家应该有 1 个matches_played):
现在,我知道这个错误输出的原因是因为加入了 player.id = matches.winner_id,但是,我的问题是:
是否可以仅通过一个左连接查询获得这些结果?如果是这样,怎么做?如果可能,我想避免进行多个查询。
sql - 前 3 个月的值总和
我很难从 12 月开始抓取行(从前3 个月开始)。我正在尝试计算特定时间段内售出的产品数量。这是我当前的查询:
这就是数据库的样子:
sale_order_line
product_product
这是我收到的错误:
任何帮助指出我正确的方向?
sql - Rails Query - Group By 2组
在我的网站中,我的用户有一个属性localidade
。这指定了他们居住的地方。
我正在尝试进行查询,并按以下方式对结果进行分组:
我想要来自纽约的用户数量以及来自纽约以外任何地方的用户数量。
我试过这个:
但由于我没有来自纽约的任何用户,而且只有 1 个不是来自纽约的用户,所以它返回:
我可以给群组起别名吗?有没有办法以这种方式对结果进行分组?
我会将结果用于 Graphkick 的饼图。
sql - 与查询具有相同 WHERE 子句的子查询
在 Postgres 9.4 中,我有一个表格,其中包含不同发件人发送的用户电子邮件。我需要生成最近不同发件人的列表,我正在使用以下查询:
由于tableA
包含所有发件人的所有消息,因此此查询仅提供不同发件人的最新消息,并且效果很好。
实际上,我在一个视图中有整个查询(除了WHERE
子句,因为timeA
和timeB
每次都不同),然后我只是SELECT *
从这个视图中使用特定的timeA
和子句。timeB
WHERE
现在考虑以下查询:
它给出了在给定时间范围内针对特定发件人的所有消息搜索某些恒定 TS 查询的总分。
我想将此查询(可能作为子查询)合并到我的视图中,以便我还可以看到每个不同发件人的“分数”。明显的问题是“分数查询”依赖于实际timeA
并且timeB
在 WHERE 子句中。在查询视图本身之前,这些时间是未知的。
编辑:一个不同的问题是someOtherColumn
在第一个查询中也被选中(可能还有其他一些我也想合并到视图中的列) - 因为正在使用聚合函数。
任何想法如何实现这一目标?或者也许欢迎一些不同的方法!
sql - 条件 SQL 计数
创建计算表中数据出现次数的列的最佳方法是什么?表格需要按一列分组吗?
我的数据库是 PostgreSQL。
我见过:
wherequestion1
的值可以是0、1或2。
我还看到了一个使用的版本count(CASE WHEN question1 = 0 THEN 1)
但是,随着可能值的数量增加,这将变得更加繁琐question1
。有没有一种方便的方法来编写这个查询,可能优化性能?
sql - 计算两个总数的运行比率
我有一个 PostgreSQL 9.4.1 数据库(Retrosheet 数据),其中的表格events
包含每个棒球比赛的一行。我想计算给定球员的连续击球平均值:公式是(到目前为止的击球总数)/(到目前为止的有效击球总数)。
我可以使用窗口函数来获取播放器代码为 的 David Ortiz 的运行总命中数ortid001
,使用以下查询:
(涉及的子句event_cd
仅标识哪些行被视为命中。)
使用相同的技术,我可以获得一个连续的 at-bats(该event_cd
子句拒绝不计为 at-bat 的每一行。请注意,上面选择的命中是 at-bats 的子集):
我怎样才能结合这些?理想情况下,对于描述一场比赛的每一行bat_id='some_player_id'
,我会计算两个函数:描述击球的所有先前行的计数,以及描述命中的所有先前行的计数。将这些除以该行的连续击球率。