草庐IT

join_group

全部标签

php - MySQL 查询多个 LEFT Joins 问题

我正在尝试从以下查询中获取所需的结果,但它似乎不起作用...SELECTDISTINCTu.user_nameasuser_name,u.total_pointsastotal_points,u.user_idasuser_id,COUNT(a.id)asuser_total_articles_published,COUNT(r.id)asuser_total_replies_published,COUNT(v.id)asuser_total_votes_doneFROMusersasuLEFTJOINarticlesasaONu.user_id=a.user_idLEFTJOINre

mysql - SQL : a GROUP BY issue in MySQL

这是数据库表╔════╦═════════════╦══════════════════╦═══════╗║id║customer_id║last_seen║param║╠════╬═════════════╬══════════════════╬═══════╣║1║12345║2012-08-0112:00║1║║2║22345║2012-08-0112:00║1║║3║32345║2012-08-0112:00║1║║4║42345║2012-08-0112:00║1║║5║52345║2012-08-0112:00║1║║6║12345║2012-09-0112:00║2║║7

mysql - 在表上运行查询时 group_concat 被切断

我有一个看起来像这样的表:此表包含343行。我正在尝试对其运行此查询:createtablenewTest2selectfunction_name,service_name,min(concurrency),substring_index(group_concat(dateorderbyconcurrency),',',1)asminDate,max(concurrency),substring_index(group_concat(dateorderbyconcurrencydesc),',',1)asmaxDate,avg(concurrency)fromconc_intermid

mysql - INNER JOIN 中的子查询 (MySQL)

我似乎对内部连接中的子查询有问题,但我没有这样做。服务器:通过UNIX套接字的本地主机软件:MySQL软件版本:5.5.32-nmm2-log-(Ubuntu)数据库客户端版本:libmysql-5.5.32有一个包含3个表的m:n表结构,其中只有2个与问题相关。第一个是一个包含Actor的表,标识符:caid。第二个是连接Actor和电影的交叉表(Actorid:caid,电影id:id)当我像这样创建一个完整的内部连接时:SELECTcount(*)ASCount,lastname,firstnameFROMDVDPROFILER_dvd_common_actorINNERJOIN

mysql - SQL select from inner join where count 大于

医生doctorid(PK)doctornamePatientpatientid(PK)patientnamedoctoridIhavethefollowingquerytogetthedoctorsdetailswiththenumberofpatientsthathe/sheconsults.assumeapatienthasonlyonedoctortoconsult.selectd.doctorid,d.doctorname,count(p.patientid)fromdoctordinnerjoinpatientpond.doctorid=p.doctoridgroupbyp

mysql - Left Join 查询返回错误结果

我已经尝试了几个小时来使用MySQL进行左连接查询。我有一个名为“at_friends”的表,用于存储用户之间的关系。id|id_user1|id_user2|accepted1|2|1|12|1|3|0表示用户1和用户2是好友,用户1向用户3发送了好友请求。这是我的表“at_users”id|name1|"John"2|"Mike"3|"Bob"我试过这个查询:SELECTat_users.id,at_users.nameFROMat_usersLEFTJOINat_friendsONat_friends.id_user1=at_users.idORat_friends.id_use

mysql - 在此查询中,如何在 GROUP BY 之前执行 SELECT?

我在看SQL的执行顺序,发现是:FROM,WHERE,GROUPBY,HAVING,SELECT,ORDERBY但在下面的查询中,“_index”用于GROUPBY,这怎么可能?SELECTCOUNT(ab.id)AScount,COUNT(ab.id)/365.24ASaverage,IF((SUBSTR(ab.begin,1,7)='2014-08'),'2014-08-1800:00:00.0CEST',IF((SUBSTR(ab.begin,1,7)='2014-09'),'2014-09-1800:00:00.0CEST',IF((SUBSTR(ab.begin,1,7)='

MySQL GROUP_CONCAT() 对所有行进行分组

我有以下查询:selectcard.idasid,photo.imageasphotofromcardleftouterjoincard_imageasphotoon(photo.card=card.id)返回+----+-------+|id|photo|+----+-------+|1|2||1|3||1|4||2|5||2|6|+----+-------+如果我将photo.imageasphoto更改为group_concat(photo.image)asphotos我会得到以下结果+----+---------------+|id|photo|+----+----------

MySql GROUP_CONCAT 与 GROUP BY 每组第 n 行

SQLfiddle:http://sqlfiddle.com/#!9/e7f72/2假设一个名为testt的表中有10条记录(id不是null自动递增)。如果我要这样做SELECTGROUP_CONCAT(id)FROMtestt我希望结果看起来像1,2,3,4,5,6,7,8,9,10我怎样才能让结果看起来像这样:1,23,45,67,89,10 最佳答案 您需要按id的函数进行分组。像这样:selectgroup_concat(idorderbyid)fromtesttgroupbyfloor((id-1)/2)

mysql - 使用 count 和 group by 时如何加快查询速度

我有两个名为seller和item的表。它们通过使用“n”到“m”外键关系的第三个表(seller_item)连接。现在我尝试回答这个要求:“作为卖家,我想要一份我的竞争对手的list,其中包含我正在销售的商品数量,他们也在销售”。因此,所有卖家的列表以及与一个特定卖家相关的重叠商品的数量。我还希望按计数和限制对它进行排序。但是查询使用的是非常慢的临时表和文件排序。解释说:在哪里使用;使用索引;使用临时的;使用文件排序我怎样才能加快速度?这里是查询:SELECTCOUNT(*)ASitemCount,s.sellerNameFROMsellers,seller_itemsiWHEREs