草庐IT

MySQL - 返回每个 GROUP BY 的 X 数

在此查询中,我指定了我要返回的汽车型号(硬编码)。所以下面的SQL为每个模型返回一个记录:SELECT*FROMmainWHERE((marka_name='SUBARU'ANDmodel_name='IMPREZA'AND(kuzov='GC8'ORkuzov='GF8'))OR(marka_name='MAZDA'ANDmodel_name='RX-7'ANDkuzov='FD3S')OR(marka_name='MITSUBISHI'ANDmodel_name='LANCER'AND(kuzov='CN9A'ORkuzov='CP9A'))OR(marka_name='NISSA

MySQL sum, count with group by 和 joins

我有三种表类型、post和insights。类型表包含帖子的类型。post表包含已发布的帖子。洞察表包含每天发布的洞察。这是我的sqlfiddle的链接SQLFiddle.现在我想生成一个报告,其中包含针对每种类型的帖子数量以及他们喜欢和评论的总和,即类型|计数(post_id)|SUM(喜欢)|SUM(评论).这些是我的尝试:selecttype_name,count(p.post_id),sum(likes),sum(comments)fromtypestleftjoinpostspont.type_id=p.post_typeleftjoininsightsionp.post_i

MySQL 查询 ORDER BY DateTime 问题

我正在尝试按大于现在升序然后小于现在降序的最新更新日期时间对查询进行排序。这是我想要的输出:2014-06-0100:00:002014-06-0400:00:002014-06-0500:00:002014-06-0600:00:002014-05-1900:00:002014-05-1500:00:000000-00-0000:00:00但我得到的是这个:2014-06-0100:00:002014-06-0400:00:002014-06-0500:00:002014-06-0600:00:000000-00-0000:00:002014-05-1500:00:002014-05

Python MySQLdb : How to get the result of a sql select having a group by into a dict?

我有一个像这样在python中运行的sql查询:selectsum(a),datefromtablegroupbydate然后我执行这个查询并得到结果:cursor.execute(query,queryParameters)rows=cursor.fetchall();正如预期的行是一个数组:(('2014-05-13',Decimal('1.6666666667')),('2014-05-14',Decimal('33.0151515152')),('2014-05-15',Decimal('66.4850000000')),('2014-05-16',Decimal('49.82

mysql - 为什么在 "to_date"表达式中将 "where"应用于已经是 "date"类型的变量?

我觉得这个问题应该很容易回答,但由于某些原因,我到处搜索并空手而归,即使使用mysqldocs中的搜索功能也根本没有返回“to_date”功能!!!有人可以解释为什么在已经是“日期”变量的“bdate”上使用“to_date”吗?为什么要再次将其转换为日期?实际上对“to_date”的解释很受欢迎,因为搜索文档没有产生任何有用的东西?在一些讲座幻灯片中,教授举了一个例子:mysql>createtablestudent(SIDDECIMAL(7)primarykeynotnull,SNAMEVARCHAR(20),MAJORCHAR(4),YEARDEC(1),BDATEDATE);然

mysql - 使用 "ORDER BY"更改查询结果

我最近正在学习SelfJoin的SQL教程.给出的表定义非常简单:stops(id,name)route(num,company,pos,stop)这里,stop属性指的是在stops表中提供名称的站点的id。如果您查看问题#10,我提出了以下解决方案,该站点指示该解决方案产生了正确的结果:SELECTdistincta.num,a.company,bstops.name,e.num,e.companyFROMrouteaJOINroutebON(a.company=b.companyANDa.num=b.num)JOINstopsbstopsONbstops.id=b.stopJOI

mysql - 在 MySQL 中根据 YEAR、WEEK 和 WEEKDAY 计算 DATE

和标题差不多我基本上想做一个简单的查询...SELECT*FROMsign_in_outWHEREuser_id=6ANDtime_signed...获取指定日期之前最近的登录/注销事件,以确定相关用户在该天开始时是登录还是注销。上面的查询工作正常,但问题是我没有那样的日期,我有YEAR、WEEK和WEEKDAY。如何在MySQL中根据这些创建DATE?谢谢 最佳答案 SELECT*FROMsign_in_outWHEREuser_id=6ANDtime_signed检查手册MAKEDATE

mysql - 如何加速具有多个连接的 Group By 语句?

我在尝试加速查询时遇到了问题,该查询仅需要大约11秒就处理200万行。Hereisalinktomysqlfiddle.这是我要运行的语句和我的EXPLAIN语句。查询:SELECTcrawl.pkPk,domains.domainDomain,CONCAT(schemes.scheme,"://",domains.domain,remainders.remainder)Uri,crawl.redirectRedirectFROMcrawlLEFTJOINdatesONcrawl.date_crawled=dates.pkLEFTJOINschemesONcrawl.scheme=sc

mysql - 在 where 子句中使用 group by 进行条件计数

我有一个简单的消息传递系统——将所有消息保存在一个表中。每条消息都可以(并且应该)与代表网站某些部分的其他3个表格之一相关联。下面是建表语句CREATETABLE`messages`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENT,`from_user_id`int(11)DEFAULTNULL,`to_user_id`int(11)DEFAULTNULL,`message`textCOLLATEutf8_bin,`table1_id`int(11)DEFAULTNULL,`table2_id`int(11)DEFAULTNULL,`table3

php - GROUP BY 子句忽略行和数据

正如我们所知,GROUPBY子句通过指定特定的GROUPBY'user_id'忽略重复数据来返回数据,但我想这样做GROUPBY忽略表行,但我想将该行的数据合并到数组中,这意味着我想要所有数据,但在过滤行中我想要类似的东西id|name|user_id-------------------1abc202trt193sdf204khg225fdf206lnm22id|name|user_id-------------------1abc,sdf,fdf202trt193khg,lnm22 最佳答案 为此使用GROUP_CONCAT。试