【mysql-在连接的情况下是否对条件进行分组在SQL中是否重要?】教程文章相关的互联网学习教程文章

mysql计数,然后按该计数分组【代码】

我有一个这样的表结构:user_id saved_id 1 2 1 34 1 36 2 489 2 14 3 731 4 48 5 901 6 234 6 9 6 64我想做的是首先计算每个用户有多少个已保存的ID,然后将这些结果分组,以便我知道每个total_save发生的频率. 这是我目前拥有的:SELECT user_id, count(*) as total_saves FROM table GROUP BY user_id ORDER BY total_saves DESC这给...

MYSQL:同一张表上的两个联接成为双重分组​​计数.如何解决?【代码】

具有这种简化的结构:customers ----------------------- id name salesagents_id (each client has their own sales agent assigned)salesagents ----------------------- id namevisits ----------------------- customers_id salesagents_id date我需要获取所有客户端的列表以及三个附加字段: >分配给客户的销售代理商名称>销售代理人访问的次数>上个月的访问次数 这是我到目前为止的查询:SELECT clients.*, salesagents...

mysql-在连接的情况下是否对条件进行分组在SQL中是否重要?【代码】

我确实通过SQL联接了2个表,并添加了where子句.连接由where子句中的条件完成.我想知道where子句是否期望join子句按方括号分组是否有所不同. 用示例进行询问:示例1是否等效于示例2和示例3? 示例1(无分组):SELECT * FROM employees, vacation WHERE employees.first_name = 'Maria' and vacation_start > 2017 AND employees.employee_id = vacation.employee_id示例2(除join子句外的所有东西都分组了):SELECT * FROM employees,...

mysql-按SQL查询分组【代码】

我有一个表(reason_table)和数据(例如):request_id created_time type detail asdas232 2018-07-29 00:00:01 NO_VALID No valid offer for id asdas232 aseeas232 2018-07-29 00:00:02 NO_VALID Not default offer for id aseeas232我正在尝试基于像这样的细节来计数:invalidOffer = 1 NoDefaultOffer = 1我试过了 :SELECT detail, count(*) FROM re...

MySQL-相似时间戳分组【代码】

查询:SELECT project_id, COUNT(*) AS count,MIN(date_added) AS date_start, MAX(date_added) AS date_endFROM my_table GROUP BY project_id, TIMESTAMPDIFF(MINUTE, date_added) < 5 WHERE user_id = 1 LIMIT 10我该怎么做?我想对项目进行分组,以使一组中的两个连续项目之间的间隔不超过5分钟,但是开始时间和结束时间可以相距任何距离.有什么办法可以在数据库中执行此操作,还是我需要获取所有数据并在程序中找出它们?解决方...

如何在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 -------------------------- 5 2 2 0 -- the B column equals 2 because nov 20 and nov 27 are saturday 6 1 0 ...

MySQL中按日期分组的年份字段【代码】

我有一个带有客户表的MySQL数据库.一些伪数据是:customer_id date 000001 2008-10-10 000002 2008-11-11 000003 2010-01-02 000004 2007-04-03 000005 2010-05-05我想运行一个查询,它会给我这样的结果:year customer_count 2007 1 2008 2 2010 2我知道我需要使用分组依据,但是我无法解决如何根据日期字段的年值进行分组以及如何按顺序进行分组的问题.解决方法:从日期中提...

合并分组并计数mysql【代码】

我需要使用group by查找表中的所有状态:SELECT status FROM table GROUP BY status然后计算发现的结果SELECT count(id) WHERE status = [STATUS]像这样的表:+--------------------+ | ID | STATUS | NAME | +--------------------+ |0001| BOUGHT | JOHN | ---------------------- |0002| BOUGHT | JOHN | ---------------------- |0003| CANCEL | JOHN | ---------------------- |0004| BOUGHT | JOHN | ------------------...

在MySQL中使用HQL,如何在分组依据之前排序结果集,以便选择正确的记录?【代码】

有没有办法在单个查询中用HQL(或可能使用Hibernate Criteria)编写每组最大n个查询? 我正在努力解决与以下问题类似的问题: 架构: >本书有出版日期>书有作者>作者有出版者 我手边有出版商,还有搜索日期.对于所有该出版商的作者,我想查找他们在搜索日期之前最近出版的书. 我一直在尝试使其工作(并查看了hibernate以及greatest-n-per-group下的许多其他问题),但没有找到任何有效的示例. 在直接MySQL中,我可以使用子选择来获得此信息...

MySQL sum()在不同的分组依据上【代码】

好的,我对两个表进行了查询.我需要拿两笔款项.我按分组进行,所以sum()可以正常工作.SELECT sum(a.x), sum(b.y) FROM a,b GROUP BY a.n where a.n=b.m到目前为止,这很好,但是问题是我需要对第二个和(sum(b.y))进行分组,而不是对第一个和(sum(a.x))进行分组. 真正的查询有些复杂,但这是我的主要问题. 这是我实际上尝试选择的总和(stock.amount)-if(sold.amount IS NULL,0,sum(sold.amount)) 如何在一个查询中解决这个问题?解决方法:...

mysql-分组依据中的第一行与最后一行【代码】

想知道如何返回MySQL组中的第一行和最后一行.返回一系列日期,但需要显示第一个日期.select * from calendar where approved = 'pending' group by eventid; 解决方法:使用max的min函数insead返回组中的第一行与最后一行.select min(date) from calendar ...如果您希望每个组都有整行,请将该表本身与每个组的最小日期进行过滤:select c2.* from(select eventid, min(dt) dt from calendarwhere approved = 'pending' group by even...

在MySQL中将相邻的相似行分组【代码】

我不知道如何很好地解释这一点,所以请忍受我. 我试图对彼此相邻的相似行进行分组,如果相同,则基本上忽略第n个行.我不确定这在MySQL中是否容易实现.这些行除了描述外没有其他属性.如果还有其他不重复的“描述”,我仍然希望将它们返回. 我有一张桌子,上面满是这样的条目:+--+-------------------------+ |id|description | +--+-------------------------+ | 1|hello | +--+----------------------...

MySQL分组依据,并根据年龄分类【代码】

MySQL是否可以根据年龄段处理数据分组? 在我的用户表中,年龄值是他们的实际年龄.我想按照年龄分组.例如:ages below 1 year old as age1, 1-4 yrs as age2, 5-9 yrs. old as age3 and so on.解决方法:是.您在CASE案例中进行分区.SELECTCOUNT(*),CASEWHEN age < 1 THEN 'age1'WHEN age BETWEEN 1 AND 4 THEN 'age2'WHEN age BETWEEN 4 AND 9 THEN 'age3'ELSE 'age4'END AS ageband FROM children GROUP BY ageband;

如何按mysql中的年龄段分组用户数【代码】

基本上我有一个用户及其相应出生日期的mysql数据库.我还发现了以下一些代码,可以帮助我找到用户从出生之日起的实际年龄. Finding date of birth我需要做的是找到不同的“年龄段”并计算该年龄段的用户数量.我还发现了this示例,它显示了如何对此数据进行分组.我想首先计算年龄并以类似于以下link所示的方式使用它.我编写了以下代码并在运行时遇到错误:SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(data_of_birth, '%Y') - (DATE...

按客户分组并按月列枢轴查询显示的Mysql销售表【代码】

我有一个包含以下列的销售表:| Customer_Id | amount | date |什么是按customer_id分组数据的最佳方法,并在不同的月份列上显示每个Customer_id(每个Customer_id一行)的每月总金额(SUM)? 期望的输出将是这样的:Customer |January | February | March | ....Customer_id |SUM amount | SUM amount | SUM amount | ....我相信在Sql中这称为数据透视表. 谢谢!解决方法:假设您有以下表格:mysql> select * from ...

分组 - 相关标签