首页 > TAG信息列表 > aggregate-functions

如果MAX()等于当前行SUM()的聚合值,MySQL如何选择1?

如果当前行的面积等于MAX(SUM(c.area)),我想选择一个名为sliced的新列(值可以为1/0或true / false无关紧要),即标记该行最高总价值: SELECT p.name AS name, SUM(c.area) AS area FROM City AS c INNER JOIN Province AS p ON c.province_id = p.id INNER JOIN Region AS

MySQL聚合函数汇总行与行之间的差异

我有这个律’mysql表: +----+-------+ | id | value | +----+-------+ | 1 | 1240 | | 2 | 1022 | | 3 | 802 | | .. | .. | +------+-----+ 我正在寻找一个sql查询总结行之间的区别: 第1行和第2行的区别第2行和第3行的区别… SQL可能吗?解决方法:当然!您的查询将如下所示:

MySQL中时间值的聚合函数SUM

我正在尝试生成等级列表,其中我必须汇总许多时间长度才能获得总时间,当我在MySQL中尝试SUM(TIMEDIFF(finishTime,’starttime’))时,我注意到会出现两个时间长度的相加,好像它们是两个普通数字,即如果我将00:00:50和00:00:50相加,则得到00:01:00作为答案. TO_SECOND在MySQL 5.1中不

如何在没有聚合和分组的情况下在MySQL中最多找到两项

我有一个表格事务(store_id,item_id,价格).我想找到不使用聚合函数和分组最多可以出售两个不同商品的store_id. 有什么办法吗?解决方法:有趣的要求…通过聚合函数和分组,这将更快,更轻松..但这是另一种方式: SELECT DISTINCT t1.store_id FROM Transactions t1 LEFT JOIN

CodeGo.net> CLR用户定义的聚合函数,以获取序列的第一个元素

我需要一个FIRST聚合函数,该函数返回序列的第一个元素,并将其与HAVING子句一起使用. 这个问题可以看作是我先前的问题:FIRST aggregate function which I can use with HAVING clause的延续. 事实证明,只有聚合函数才能解决我的问题,因此我尝试创建一个函数: [Serializable] [SqlUse

mysql-SQL在每个SELECT请求上获取ROW_NUMBER和COUNT

我正在建立一种网格机制,我需要从数据库中检索找到的总数或记录中的数据,只检索其中包含row_number的这些记录的范围. 我正在使用SqlServer进行测试,但是我也需要在Oracle和MySql上提供支持. 这就是我正在尝试的方法,但是我无法使其工作: SELECT * FROM (SELECT RO

mysql-连接表,但空行需要0

我不知道如何用文字来解释这种情况.所以写例子: 我有一个名为tblType的表: type_id | type_name --------------------- 1 | abb 2 | cda 3 | edg 4 | hij 5 | klm 我还有另一个名为tblRequest的表: req_id | type_id | user_id |

SQL(MySQL)查询以提取多个时间范围内的聚合

假设我有下表my_table: +----------+------------+------------+ + key_code + cost_value + cost_date + +----------+------------+------------+ + AAAA + 1.01 + 2015-01-05 + + AAAA + 4.04 + 2015-01-10 + + AAAA + 3.03 + 2015-01-15 + +

mysql-获取每天未发生的事件的每日计数

我有一个客户表,在进行客户注册时会在其中插入新行. 问题 我想知道在给定日期范围内每天的注册总数. 例如,查找从2015-07-01到2015-07-10每天的注册总数 客户表 样本数据[显示相关列] customerid username created 1 mrbean 2015-06-01 2 tom

python-PySpark数字窗口分组依据

我希望能够按步长设置Spark组,而不是单个值.有什么火花类似于PySpark 2.x的用于数字(非日期)值的窗口函数? 类似于以下内容: sqlContext = SQLContext(sc) df = sqlContext.createDataFrame([10, 11, 12, 13], "integer").toDF("foo") res = df.groupBy(window("foo", step=2, start

MySQL多计数在一个查询中

如何使用不同的查询条件对一个表中两列的记录进行计数? 表看起来像: user_id | date | status ------------------------------ 1 | 2011-01-02 | 1 2 | 2011-01-03 | 1 3 | 2011-01-02 | 0 4 | 2011-01-03 | 1 1

来自相关表的mysql平均计数

我有两个表: 用户表 用户列表 故事 故事列表-每个用户多个故事 我想知道用户拥有的平均故事数. (不是特定用户,对于所有用户) 预期结果:每位用户平均有2.3个故事 尝试过: 从(按user_id的故事分组选择w中选择count(distingt user_id)作为w)avg(w) 以上跑了,但似乎不正确 也: SELECT user

优化无法解释的缓慢MySQL查询

我在一个愚蠢的查询上掉头发了.首先,我将解释其目标.我每小时获取一组值并将其存储在数据库中.这些值可以随时间增加或保持相等.此查询每天提取最近60天的最新值(我有双胞胎查询按几周和几个月提取最新值,它们相似).该查询是不言自明的: SELECT l.value AS value FROM atable AS l

MySQL:使用COUNT()从子查询中选择MAX()

在将其标记为重复之前,请先查看此SQLFiddle. 我有这个架构: CREATE TABLE book(book_id int, book_name varchar(100), author_id int, editor_id varchar(100), isbn varchar(100)); INSERT INTO bo

python-Pandas Dataframe中分组依据中的多个聚合

SQL : Select Max(A) , Min (B) , C from Table group by C 我想在数据框上的熊猫中执行相同的操作.我离得更近了: DF2= DF1.groupby(by=['C']).max() 我在哪里得到两列的最大值,在分组时如何做多个操作.解决方法:试试agg()函数: import numpy as np import pandas as pd df

java-Spark SQL sum函数对双精度值的问题

我们正在尝试使用Spark SQL sum函数对双精度值求和. 样本数据: +------+ |amount| +------+ | 1000| | 1050| | 2049| +------+ 示例代码: df.select("amount").show(); df.registerTempTable("table"); sqlContext.sql("select amount/pow(10,2) from table").sho

mysql-如何提高从SQL的提取速度?

我不是MySQL索引方面的专家,但是我看到了很多教程,但是使用PHP加载页面仍然需要7秒钟. 我在MySQL表中大约有5万行和30列. 如何提高MySQL Fetching数据速度?我可以在下面的查询中进行任何改进吗? SELECT tmdb_movies.movie_title,tmdb_movies.budget,tmdb_movies.original_language,t

mysql-子选择数未知时的自连接

我有一个表格,其中将配偶和子女链接到主要用户. +----------------+-------------------+----------+------------------------------+------------------+ | Id | User_ID | Rel_Type | Applno | RelationWith | +----------------+-------

MySQL选择查询以生成动态列结果

我需要编写一个查询,以动态返回列.例如,我有一个带有列的表tblTest: Id, Name, Type, Amount 1, Receipt, Cash 100 2, Receipt, Card 200 3, Receipt, Cheque 250 4, Receipt, Card 150 5, Receipt, Cash 100 6, Payment, Cash 300 7, Payment, Cheque 400 SQL查询:

MySQL-相似时间戳分组

查询: SELECT project_id, COUNT(*) AS count, MIN(date_added) AS date_start, MAX(date_added) AS date_end FROM my_table GROUP BY project_id, TIMESTAMPDIFF(MINUTE, date_added) < 5 WHERE user_id = 1 LIMIT 10 我该怎么做?我想对项目

如何过滤此MySQL查询,使其仅包含未由特定用户评分的项目?

给定此样本数据集: item ---- item_id item_name item_added 1 Apple <date_time> 2 Banana <date_time> user ---- user_id user_name 1 Alice 2 Bob 3 Carol rating ------ rating_id item_id user_id rating_val

如何在MySQL中按工作日将总和分组?

我有一张这样的桌子: id | timestamp | type ----------------------- 1 2010-11-20 A 2 2010-11-20 A 3 2010-11-20 B 4 2010-11-21 A 5 2010-11-21 C 6 2010-11-27 B 我需要计算按工作日分组的每种类型的行;像这样: weekday | A | B | C

sql-通过PersonID获取每个人的总和

我在表中有以下几列: SCORE_ID SCORE_PERSON_ID SCORE_VOTE SCORE_PERSON_ID是一个变量.我需要对每个SCORE_PERSON_ID的SCORE_VOTE求和. 您能建议一个好的方法吗?解决方法:您需要GROUP BY和诸如count或sum的聚合函数 SELECT SCORE_PERSON_ID, sum(SCORE_VOTE) as score FROM tab

MySQL在每个邮政编码中找到最昂贵的

我有一个名为Products的表,该表具有架构(名称,城市,州,邮政编码价格). 我想找到给定州的每个邮政编码的最昂贵产品的名称. 我写 SELECT zip_code, MAX(price) FROM products WHERE products.state = 'NJ' GROUP BY zip_code 作为子查询,但我不知道在“ NJ”中显示产品名称和每个

MySQL MIN / MAX返回正确的值,但不返回相关的记录信息

我真的很困惑.我显然不了解MIN / MAX概念. 我试图从一组work_type和work_id获取最新的行. 如果我从MIN更改为MAX,它会更改返回的时间戳,但它永远不会从该记录中获取状态信息. 例: "SELECT CONCAT(work_type, work_id) AS condition_id, status, MIN(created_timestam