【MySQL:仅选择一些分组的行】教程文章相关的互联网学习教程文章

mysql – 我需要连接三个表,将结果分组为一列,并显示另一列中的最高值【代码】

说我有三张桌子: >名称为ID的用户>包含具有电子邮件地址的行的电子邮件>包含行的消息,其中包含电子邮件的日期和标题 当然,第二个和第三个表都可以使用用户的ID与第一个表匹配. 我想要一个查询,它只返回每个用户一次,他们的电子邮件地址和他们最近的消息的日期. 如果我用这个:SELECT name,email,title,date FROM users JOIN emails ON users.id = emails.user_id JOIN messages ON messages.user_id = emails.user_id group by na...

MySQL实现按天分组统计,提供完整日期列表,无数据自动补0【代码】【图】

业务需求最近要在系统中加个统计功能,要求是按指定日期范围里按天分组统计数据量,并且要能够查看该时间段内每天的数据量。 解决思路直接按数据表日期字段group by统计,发现如果某天没数据,该日期是不出现的,这不太符合业务需求。百度一番发现方案大致有两种:一是新建日期列表,把未来10年的日期放进去,然后再跟统计表作连接查询;二是用程序代码在SQL逻辑中union多个连续日期查询。都比较繁琐。参考Oracle的“select level ...

MySQL更新字段基于第三个分组时另一个字段的最小值【代码】

我已经阅读了几个关于选择min,分组等的线程,但似乎无法创建一个有效的查询来解决这个问题.如果重复,请原谅. 我有一张桌子:ID Date Value Tag 1 1/1/13 500 NULL 2 1/1/13 10 NULL 3 1/1/13 12 NULL 4 1/2/13 99 NULL 5 1/2/13 136 NULL 6 1/2/13 17 NULL基本上需要一个更新查询,当它具有按日期分组的最低值时,填充TAG字段的值为1.在此示例中,ID为2和6. update table set tag = 1(选择min?)解...

在MySQL中连续分组值并为这些组添加ID【代码】

我有一个简单的表,我需要识别四行组(这些组不是连续的),但每行的每一行的值都是1.例如:---------------------- | language | id | ---------------------- | C | 16 | | C++ | 17 | | Java | 18 | | Python | 19 | | HTML | 65 | | JavaScript | 66 | | PHP | 67 | | Perl | 68 | ----------------------我想添加一个指示组或集的列,如何使用MySQL获取...

mysql – SQL选择何时分组记录具有多个匹配字符串【代码】

我有一个大问题,但我最大的问题在于这一小部分. ItemID是外键输入Master Item表 – 它不是唯一的.这个查询没有做我想要的(行不能有所有4个名字),但它说明了我正在寻找的东西.Select masteritemid from itemsgrouptable where itemname like 'Item 1' And itemname like 'Item 2' And itemname like 'Item 3' And itemname like 'Item 4'我只想在列出4个列出的记录时才提取itemid.我当前的方法基于ID将同一个表连接在一起4次,每个...

mysql – 如何为按另一列分组的给定条件获取两列的计数?【代码】

数据库:SQL Fiddle 需要查询:返回每家保险公司25-35岁的男女人数. 我的进步:CREATE VIEW MenInAge AS SELECT p.pname,p.pid,p.cid FROM Patient p WHERE p.gender = 'm' and p.age between 25 and 35;CREATE VIEW WomenInAge AS SELECT p.pname,p.pid,p.cid FROM Patient p WHERE p.gender = 'f' and p.age between 25 and 35;CREATE VIEW MenInAgeCount AS SELECT m.cid, COUNT(m.pid) as c FROM MenInAge m GROUP BY m.cid;CR...

输出mySQL结果,将一列中的数据分组到一个单元格中【代码】

我有一个mySQL查询:SELECT work.ID AS workID,team.ID AS team_ID,team.name AS teamNameFROM workLEFT OUTER JOIN team_work ON team_work.work_ID = work.IDLEFT OUTER JOIN team ON team_work.team_ID = team.ID返回以下示例结果:workID team_ID teamName 1 10 Support 2 20 Dev 2 10 Support 3 30 Admin 4 40 Research我希望以表格格式将其...

mysql – 按年带间隔对行进行分组【代码】

我有一个表(tbl_people),在这个表中我有一个datetime字段,我想分组并计算10年组记录…结果应该是这样的: |计数|一年| | 1000 | 1980-1989 | | 250 | 1990-1999 | 我可以编写多个查询来执行此操作,但这意味着我将不得不为每个范围编写不同的查询.有没有办法从最少年份(10年间隔)动态增加并计算间隔内的记录数量?解决方法:首先计算每一行的十年select floor(year(`year`) / 10) * 10 as decade from tbl_people然后使用此...

嵌套分组MySQL查询【代码】

我有一个调用详细信息表,需要根据日期分组编译摘要查询.问题是单个呼叫ID可以有多行,如下所示.处置是1 =放弃,2 =处理. RNA = Ring No Answer.Call ID | Disposition | Call Start | Queue Name | Agent Name | RNA 010001 2 2014-12-03 13:02 Acme_Brick Joe Schmoe FALSE 010002 1 2014-12-03 13:36 Anvils_R_Us Jane Doe TRUE 010003 2 2014-12-03 14:22 Acm...

php – 从表中查找最新消息,由用户在mysql中分组【代码】

我的网站上有一个私人消息表,有一段时间我现在有一个收件箱和发送箱分开.我想将收件箱/发送箱组合在一起,只向特定用户显示最新消息. TLDR:我想显示通过发送到每个用户或从每个用户发送的最新消息. 表的例子| id | fromuser | fromid | touser | toid | message | timestamp | -------------------------------------------------------------------------------- | 1 | user1 | 1 | user2 | 2 | He...

php – MYSQL:最接近按user_id分组的提供日期【代码】

我需要获取多行,其中date_added最接近但未超过用户提供的日期,按user_id分组. 我已经看了一堆最大的组类型答案,但我不是那里: Get nearest records to specific date grouped by type SQL Query to show nearest date? Find closest datetime to specified datetime in mysql query Get closest date from MySQL table https://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html 这是关闭:https://stackov...

php – Mysql分组数据和正则表达式【代码】

我有一张表,在检查患者后由我们的提供者记录代码.代码看起来像A11,B99,C68,A12,O87,F76等.现在,我需要创建一个报告,将这些代码分组并计算在内.组应该看起来像A00-B99,C00-D48,D50-D89等.我已经研究过,发现我可能不得不使用REGEXP,我想尽量避免使用它.有人可以帮助什么是有效和优化的方式吗? 表:ID Codes description1 A11 Infection2 A01 Intestinal infectious diseases 3 H77 Intestinal infectious disea...

在单个MySql存储过程上按多列分组【代码】

我有以下存储过程,我用它来显示多个ASP图表项目的数据.CREATE DEFINER=`root`@`localhost` PROCEDURE `GetChartApprovedData`(in siteValue varchar(45), in skillValue varchar(100), in shiftValue varchar(100), in tmValue varchar(45), in grpmValue varchar(45), in dateValue date, in dateValue1 date) BEGIN SELECT count(agentlogin) AS totalApproved, shift AS Shift, skill AS Skill, tm AS TM, grpM AS GrpMFROM ap...

在这个MYSQL查询中发生了什么,左边的连接和一个分组(在错误的列上)?【代码】

我有以下表格:create temporary table Items (item_id int, item_name varchar(10)); create temporary table ItemRating (item_id int, rating int);有以下数据:insert into Items (item_id, item_name) values (1,'Item 1'),(2,'Item 2'),(3,'Item 3'),(4,'Item 4'),(5,'Item 5'); insert into ItemRating values (1,9),(1,6),(3,10);然后我运行以下查询:select i.item_id, i.item_name, avg(ir.rating) from Items i left jo...

mysql – 将一行中的所有字段分组【代码】

如何发出请求将一行中的所有字段分组? 表:id | type --------- 1 | 1 1 | 1 2 | 2 3 | 3 3 | 3查询:select concat('id(', count(type), ')') from T group by id;输出:id(2) id(1) id(2)我想得到一个字符串:’id(1)’= 2,’id(2)’= 1,’id(3)’= 2解决方法:如果你分两个阶段完成.使你的id(n)= x记录,然后GROUP_CONCAT()它们.SELECTGROUP_CONCAT(id_count SEPARATOR ', ') FROM(SELECT CONCAT('id(', id, ') = ', count(...

分组 - 相关标签