问题标签 [having-clause]
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.
mysql - 重写子查询有子句进入连接?
我有一张这样的表格;
位点、染色体、链。
这对位点和染色体应该是唯一的,而它们可以有多个链。在加载数据之前,我发现有些站点的染色体不止一个,这显然是一个错误。我试图找出错误,即多于 1 条染色体的位点。我已经考虑过了,但无法提出正确的 SQL。所以我把问题分开了。首先,我创建一个选择不同记录的表;
然后我可以通过这个找到具有多个染色体的位点;
它工作得很好。然后尝试从原始表中查看错误的全部信息,我这样做了;
然后这个子查询太慢了,即使列都被索引了。
我试图将查询重写为连接,但这样做很困难。请帮我。
====================
感谢所有回答这个问题的人。我的数据看起来像这样。
在这种情况下,N111 很好,但 N112 是错误的,因为它有两个染色体数据。由于链的原因,第二个答案的子查询选择了 N111 和 N112,这与我遇到的问题相同。具有多列的按功能分组的工作方式与我的猜测不同。但是,建议的答案给了我一个线索 group by 如何工作,以便我可以稍微修改它以使其工作。这两个答案给出了相同的结果。再次感谢各位。
地点
sql-server - ColdFusion MsSQL HAVING SUM() 与 NULL 值
我用 CF 9 和 MsSQL 2005 对此进行了测试
然后在 Ms SQL Server Management Studio Express 中查询
结果是
然后我尝试使用 cfquery
结果是
编辑(从这里开始):向下滚动到调试器我有这个
该红色区域表示 qryHavingSum_4 已执行,记录为 0,但在Exception部分中 qryHavingSum_4 未定义(<cfdump var="#qryHavingSum_4#">
)
编辑(到此结束)
如果我将 qryHavingSum_4 更改为
结果是
然后我尝试使用其他运算符更改SUM(B_INT)
(不带 ISNULL)和(不带 ISNULL)并且它有效。HAVING SUM(B_INT)
> >= < <= <> !=
为什么我不能=
在 CF 中使用上面的 with 查询?是CFbugs吗?
谢谢你
sql-server-2008 - SQL Select - 向 Select 添加字段正在更改结果
我被这个 SQL 问题难住了,我怀疑这对于那里的人来说很容易。
我有一个表,其中包含代表多个每日排名项目列表的行。相关字段如下:ID、ListID、ItemID、ItemName、ItemRank、Date。
我有一个查询,它返回昨天但今天不在列表中的项目(列表中的项目),如下所示:
基本上我正在寻找最大日期是昨天的记录。它工作正常,并显示每个项目以前在列表中的天数(虽然不一定是连续的,但现在没问题)。
问题是当我尝试添加排名以查看昨天的排名时。我尝试了以下方法:
这将返回比前一个查询更多的记录,因此有些地方不对劲。我想要相同数量的记录,但包括排名。我可以通过使用子查询进行自联接并获取 ItemID 昨天而不是今天出现的记录来获得排名 - 但后来我不知道如何获得 Count 了。
提前感谢您对此的任何帮助。
======== 已解决 ===============
基本上,我所做的是创建一个子查询来查找这两天出现的所有项目,并找到昨天出现但不在这两天出现的项目集中的项目。然后我能够正确地执行聚合函数和分组。如果这比必要的更复杂,我不会感到惊讶,但我理解它并且可以根据需要对其进行修改,并且性能似乎不是问题。
再次感谢大家!
sql - 使用 HAVING 运算符的简单查询
我有一个员工表,它由两列组成:员工和部门 ID 如下
我想通过简单的查询选择拥有两名以上员工的部门。想出了以下内容:
但是在执行过程中它抱怨无效的列名(数量)。我很确定使用聚合函数两次(选择 count() ... 有 count())是不正确的。我错过了什么吗?ps“直截了当”的解决方案是我猜
mysql - 有没有像“WHERE XXX NOT IN”这样的“NOT HAVING”语法?
- 我有几个查询获取将来将被删除的行的 ID 号。
- 行号被放入一个字符串并放置在下面的查询中(您看到“2”)。
我希望结果忽略这些行(好像它们已经被删除了)。
/li>
我的猜测是我需要用“HAVING”替换“WHERE”行,但我找不到“NOT HAVING”语法。
当前编写此查询的方式,如果位置的最大 id 列在 WHERE 子句中,它将不会返回 T1.position 的行。
如何让这个查询给我 T1.position 的最大 ID,同时忽略 WHERE 子句中列出的 ID 行?
group-by - 在 MongoDB GROUP BY 中进行 HAVING 的正确方法是什么?
对于 SQL 中的这个查询(查找重复项)是什么:
我在 MongoDB 中执行了这个简单的查询:
我添加了一个简单的 Javascript 循环来遍历结果集,并执行了一个过滤器来查找所有计数 > 1 的字段,如下所示:
除了在客户端使用 javascript 代码之外,还有更好的方法吗?如果这是最好/最简单的方法,请说它是,这个问题会对某人有所帮助:)
postgresql - PostgreSQL:有子句没有按预期工作
我有一个用户DE9013,在 SQL 表中有两个正面评价:
而fair + nice评级的总和正如预期的那样是四个:
我的问题是:为什么我会在下面的列表中找到用户9013,我试图在其中找到所有玩过 30 多场完整游戏并且评分(一般+好)高于 30 的用户?
将 PostgreSQL 8.4.7 与 CentOS 5.7 / 64 位一起使用
sql - SQL中WHERE和HAVING的区别
我看过关于WHERE
和的各种讨论HAVING
。我还有一个问题:HAVING
仅在考虑聚合时使用,或者它可以用于更一般的术语:每当您在查询中创建或别名字段时?我知道WHERE
应该尽可能使用它。
mysql - 如何将一个表连接到另一个用户 ID = 用户 ID 但仅针对该日期的表?
我希望了解用户在他的工作站上处理每批的总时间、估计完成的总工作量、支付给用户的金额以及用户今年每天的失败次数。如果我可以将所有这些加入到一个查询中,那么我可以在 excel 中使用它并在数据透视表等中很好地格式化。
编辑:我意识到只能在多个查询中执行此操作,因此我将范围缩小到:
交叉连接导致了问题。
mysql - Mysql限制每组奇怪的结果的行数
我想获得每个 4 的最新日期symbolid
。我在这里修改了代码如下:
并得到以下结果:
显而易见的问题是,为什么我每次只得到 3 行symbolid
,为什么它们的编号是 1、3、5?一些细节:
- 我尝试了强制索引而不是强制索引(如此处所示),并且两种方式都得到了相同的结果。
- 日期是正确的,即列表正确显示了前 3 个日期
symbolid
,但 row_number 值关闭 - 当我不使用“有”语句时,行号是正确的,即最近的日期是 1,下一个最近的日期是 2,等等
显然row_number
计算字段受到“有”子句的影响,但我不知道如何修复它。
我意识到我可以将“拥有”更改为“拥有 row_number < 7”(6 与 5 相同),但它非常难看,我想知道如何让它“表现”。