问题标签 [having]
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 - 限制组的结果
我有下表:
我正在寻找一个允许检索每种汽车类型的最旧年份行的查询。在这种情况下,它应该给我:
我尝试过 ORDER BY + LIMIT, HAVING, GROUP BY.... 但它总是添加我不需要的额外行(我必须遍历结果集以创建子结果)。
你知道我该怎么做吗?
非常感谢您的有用提示!
赫罗德
mysql - MySQL Group By 和 HAVING
我是一个 MySQL 查询新手,所以我确信这是一个有明显答案的问题。
但是,我正在查看这两个查询。他们会返回不同的结果集吗?我知道排序过程会以不同的方式开始,但我相信它们会返回相同的结果,而第一个查询的效率会更高一些?
查询 1:HAVING,然后 AND
查询 2:WHERE,然后 HAVING
mysql - 如何将一个表连接到另一个用户 ID = 用户 ID 但仅针对该日期的表?
我希望了解用户在他的工作站上处理每批的总时间、估计完成的总工作量、支付给用户的金额以及用户今年每天的失败次数。如果我可以将所有这些加入到一个查询中,那么我可以在 excel 中使用它并在数据透视表等中很好地格式化。
编辑:我意识到只能在多个查询中执行此操作,因此我将范围缩小到:
交叉连接导致了问题。
mysql - 是否可以使用 MYSQL GROUP BY 选择一堆值
我收到这样的查询:
所以它会返回我:
现在我需要调整查询以获得这样的结果:
使用 GROUP BY HAVING 是否可以得到这个结果?或者有什么建议可以得到这个结果?
非常感谢!
sql - SQL 拥有不在 SELECT 中的列
我有一个包含 3 列的表:
一个用户的条目可能如下所示:
我想创建一个视图,只显示那些被认为是该用户“常用”的 MAC。例如,与该用户最常用的 MAC 地址相比,我想过滤掉使用 <10% 的 MAC。此外,我希望每个用户 1 行。这可以通过 GROUP BY、HAVING 和 GROUP_CONCAT 轻松实现:
事实上,结果如下:
但是,我真的不希望在我看来计数列。但是,如果我将其从 SELECT 语句中取出,则会出现以下错误:
有什么方法可以执行此操作而不会被迫在我看来有一个讨厌的计数列?我知道我可能可以使用内部查询来做到这一点,但出于性能原因,我想避免这样做。
非常感激您的帮忙!
mysql - 如何确保 HAVING 在 GROUP BY 之前发生
我正在获取与某个点有一定距离的银行列表
但是我只想抓住每个连锁店的 1 个场地。
到目前为止的查询
按名称使用组不起作用,因为它评估然后距离不落入范围。换句话说,如果有一个 ICBC 超过 700 m 并且具有较低的 id,那么即使两个 ICBC 在 700 m 以内,ICBC 也不会出现在结果中。所以我怀疑这是因为group by
发生在之前having
或者可能有不同的解决方案?
我无法将距离检查移动到 where 因为它不是真正的列#1054 - Unknown column 'distance' in 'where clause'
mysql - 从部分重复的数据中选择首选行
我有以下查询:
我从下表中选择:
给定以下数据的更简单的查询是:
鉴于当前数据debugcount
应始终为 1,但如果在上述查询中一组中有多个仪表,debugcount
则应为该组中的仪表数。
我可以在不同来源的值之间进行选择,我有:
-manual
来源,这是黄金;
-read
来自数据源的数据源,某处建筑物中的仪表;
-calculated
数据,插值以弥补缺失的数据。
具有相同的单个数据点meter_id+mydate可以有多个源。
查询应优先manual
于来源,并且仅在没有其他数据可用read
时才选择数据。calculated
以下是 中的数据示例meterstand
:
用于选择最佳数据点的正确查询语法是什么?
sql - 用于查找 count > 1 的记录的 SQL 查询
我有一张名为PAYMENT
. 在这张表中,我有一个用户 ID、一个帐号、一个邮政编码和一个日期。我想查找所有使用相同帐号每天进行一次以上付款的用户的所有记录。
更新:此外,应该有一个过滤器,而不是只计算邮政编码不同的记录。
这是表格的样子:
结果应该类似于:
您将如何在 SQL 查询中表达这一点?我在考虑自我加入,但由于某种原因,我的计数是错误的。
mysql - 展开 GROUP BY 和 HAVING 结果集
有没有办法扩展/获取 aGROUP BY
和HAVING
查询的所有记录?
例如,
有没有一种更简单的方法来获取所有记录,而不是通过结果集并SELECT * FROM table_name WHERE Column1 = 'this' AND Column2 = 'that' AND Column3 = 'more'
为每条记录做。
如果由于 mysql 或其他一些限制而无法完成,还有其他方法可以获取query
上述所有数据吗?
通过扩展/获取所有记录,我的意思是如果结果集是
我希望能够获得所有 4 条记录。
mysql - Mysql限制每组奇怪的结果的行数
我想获得每个 4 的最新日期symbolid
。我在这里修改了代码如下:
并得到以下结果:
显而易见的问题是,为什么我每次只得到 3 行symbolid
,为什么它们的编号是 1、3、5?一些细节:
- 我尝试了强制索引而不是强制索引(如此处所示),并且两种方式都得到了相同的结果。
- 日期是正确的,即列表正确显示了前 3 个日期
symbolid
,但 row_number 值关闭 - 当我不使用“有”语句时,行号是正确的,即最近的日期是 1,下一个最近的日期是 2,等等
显然row_number
计算字段受到“有”子句的影响,但我不知道如何修复它。
我意识到我可以将“拥有”更改为“拥有 row_number < 7”(6 与 5 相同),但它非常难看,我想知道如何让它“表现”。