问题标签 [aggregate-functions]
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 - 聚合函数 - 获取未包含在 GROUP BY 子句中的列
我有一个包含三个字段(item_id、source 和 price)的表。(item_id、source 和 price) 共同构成主键。
对于每个 item_id,我想知道最便宜的获取地点,以及我将在该地点支付的价格。对于上面的示例,我希望看到以下输出:
有没有一种简单的方法可以做到这一点而无需两次提及表名?我正在使用 MySQL,所以我不能使用 WITH 子句。
我在另一个用户的问题中查看了joined two-query解决方案(组相关记录,但只从第一条记录中选择某些字段),但我真的很想避免两次提及该表。问题是这个问题中的简单表格实际上代表了我实际问题中的一个内联视图,每次使用大约需要 5 秒来创建,所以我希望找到替代方案。
sql - 在 MySQL 的触发器中使用聚合函数
我有一个“人”表,其中包含“年龄”等多个属性。每次我在这个表中插入一个新元组时,我都想找出表中列出的所有人的平均年龄。如果平均值高于 50,我想修改正在插入的元组中的年龄。我为此使用了“BEFORE INSERT”触发器。这是我目前拥有的测试代码(您可以忽略“分隔符”行):
我究竟做错了什么?
mysql - MYSQL 获取 10 个帖子,每个帖子都有投票数,按投票数排序,受帖子上的 where 子句限制
我想获取一组包含投票数的帖子,按投票数排序(例如)
我有 2 张桌子:
帖子- 栏 - id
, body
,is_hidden
投票- 栏 - id
, post_id
,vote_type_id
这是我尝试过的查询:
正确性:上面的查询几乎可以工作。子选择包括votes
for posts
that have is_hidden = 1
,所以当我离开时 join it to posts
,如果隐藏的帖子在前 10 名(按投票排名),我最终会得到yes_count
字段上为 NULL 的记录。
表现:我有大约 5 万个帖子和大约 50 万张选票。在我的开发机器上,上述查询在 0.4 秒内运行。我想保持在或低于这个执行时间。
索引:我在 Votes 表上有一个索引,涵盖以下字段:vote_type_id
和post_id
解释
max - 关于“GROUP BY 子句”错误的帮助
希望任何人都可以帮助我解决这个错误“列'Sales.No_'在选择列表中无效,因为它既不包含在聚合函数或GROUP BY子句中。”......我花了几天时间来理解这个错误但是失败:(我的查询:-
sql - Aggregrate all a single column in a grouped resultset in one query: is it possible?
At the moment I have the following MySQL query:
Which returns the following:
What I would WANT it to return is the above, INCLUDING a column showing a comma-separated aggregate of all entity_id's found in the above query.
Is this possible in the same query, and if so, how? Example:
mysql - MySql Sql MAX 和 SUM 错误
错误是:组函数的使用无效(ErrorNr. 1111)
任何的想法?
谢谢。
sql - MySQL问题:合并由nm引起的多个结果/行
我现在几乎尽我所能来解决他的以下问题。到目前为止没有成功。但必须有一个解决方案,因为我不认为这个案子太特别了。我想我只是一个该死的初学者;-)我需要在 MySQL 中加入 union merge 或其他什么;-) 来解决以下问题......
案例:三个表“posts”、“tagmap”和“tags”
tagmap表存储所有 nm 关系,posts 的 id 和 tags 的id
tags表存储tag_name和tag id posts
表存储post_title和post_id
我想要实现的是获得一个结果,即所有相关标签都合并在一列中。通过逗号分隔的列表或空格:
post_id => 1, post_title => Charlie Chaplin... tag_name => Acryl, Chalk, Poster
但到目前为止,我唯一能得到的是这样的多重结果:
post_id => 1,post_title => Charlie Chaplin... tag_name => Acryl
post_id => 1,post_title => Charlie Chaplin... tag_name => Chalk
post_id => 1, post_title => 查理卓别林... tag_name => 海报
有谁知道如何实现这一点...任何帮助将不胜感激,并提前感谢所有可以帮助我的人;-)
sql - 执行 MIN 然后 GROUP BY 后 ID 值丢失。为什么?
为简化起见,如果我有一个名为“员工”的表:
我想执行和查询我在哪里检索每个部门的最低工资。所以我的查询是这样的:
但无论找到哪些记录。结果集中的 ID 值被重命名为 1,2,3.... 直到结果集中存在许多记录(部门)。
执行 AGGREGATE 功能后如何维护员工的实际 ID 和GROUP BY
?
sql - SQLite3 不会对格式错误/不确定的查询产生聚合错误?
SQLite 在处理聚合时的行为与许多其他 RDBMS 不同。考虑下表和值:
如果我这样查询:
通常,我希望收到一个错误,因为我没有在 GROUP BY 子句中包含列“a”。下面是 SQL Server 产生的错误(PostgreSQL 会发出类似的东西)。
另一方面,SQLite 只是配合它并产生以下结果:
这有什么好处?它是如何选择列“a”的值的?如果我们添加另一行,它正在选择的内容似乎有一个模式,也许我们可以试探性地说它正在使用最近添加的行,尽管它可能只是不确定的。
这对我来说似乎是一个错误,但我想知道我们这里的数据库专家对此有何看法。
(我在 Ubuntu 上使用 SQLite 版本 3.6.16。)
sql - 重命名数据,然后删除重复项
我有一个大型数据集,其中一些是重复记录,可以通过两个字段中的重复项来识别。
要查找这些记录,可以使用以下查询:
基本上我想要做的是将“描述”的所有值组合在一起形成单行,然后用单行替换所有重复的行。
到目前为止,这是我一半的查询,它既笨拙又可怕。我的主要目标是让它发挥作用——但如果我在此过程中学习了一些 sql 中的新技巧,那根本不是一件坏事。
这是我所得到的。我应该读什么才能更进一步?我已经阅读了几本书和很多关于这个主题的网页。但是在这种情况下,我认为我的问题不仅限于缺乏 SQL(好吧,这不是我唯一的问题),而是更多地以错误的方式解决问题。
编辑1:
^^ 是我想从 vv 创建的
^^ 注意不超过一个描述行的行需要保持不变。
到目前为止,我已经在一个新表中创建了新记录:
所以现在剩下的就是删除 cat 命令捕获的记录。看来我不能DELETE FROM
用有条款?我在想这DELETE FROM table WHERE oid IN (SELECT OID's using having clause)
会有效吗?
编辑2:
返回几个 2 个 oid 的数组,所有这些都需要删除。我觉得我很接近,但又很远。提前致谢