草庐IT

with_numbers

全部标签

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

php - 拉维尔 : How to delete rows from multiple table with same id with only 1 query?

我有这段代码可以一次性从多个表中删除数据:DB::table('tb_stikes_register_school')->where('register_id',$_POST['id'])->delete();DB::table('tb_stikes_register_guardian')->where('register_id',$_POST['id'])->delete();DB::table('tb_stikes_register_student')->where('register_id',$_POST['id'])->delete();我试图将其缩短为仅1个查询,guardi

mysql - findOne({键 :value}) or findOne(). 其中({键 :value}) when querying database with waterline?

我正在使用Waterline通过Sails查询MySQL数据库。我找到了2种方法。不知道哪个更好?顺便问一下,如何处理这两种情况的错误?1.Model.findOne().where({key:value}).then(function(data){console.log(data);})2.Phase.findOne({key:value}).then(function(data){console.log(phase);}) 最佳答案 两者都行。在该方法中,您会发现如下所示的错误。1.Model.findOne().where({

mysql - 加速 : query with a GROUP BY

我使用下面的查询来选择电影年龄最小的Actor。SELECTproduction_cast.production_id,MIN(birthdate)FROMpersonLEFTJOINproduction_castONproduction_cast.person_id=person.idWHEREbirthdateISNOTNULLGROUPBYproduction_cast.production_id;然而IMDB数据集非常庞大,需要300多秒才能完成。如果没有GROUPBY和MIN,此查询将在0.2秒内完成:SELECTproduction_cast.production_idFR

MySQL : How to find non duplicate rows with left join?

几天前我在Mysql中遇到了一个问题,我无法解决它(我对DB很糟糕),我希望你能帮助我:)我将简化问题,以便您可以看到我卡在哪里!我有两个表:current_stock(article_id,...)stock_record(id,article_id)Current_stock描述的是实际库存,stock_record是已经盘点的元素。当我想将文章留在库存中(那些在current_stock但不在stock_record中的),并且当我得到多个相同的articles_id时,问题就来了我试过了:SELECT*FROMcurrent_stockWHERENOTEXISTS(SELECT

MySQL Select Distinct with Left Join?

我正在尝试获取没有公司级别注释的company_id的列表。但是,该公司可能有位置级别的注释。company-------------------------company_idnamedeleted1Foo02Bar03Baz0location-----------------------location_idcompany_id617283note-----------------------------------------note_idcompany_idlocation_iddeleted10260//location-levelnote11170//location-le

mysql - Sequelize : Parent with at least one children

我有一个大致如下的关系:Parent:[id,name]Children1:[id,parent_id,name]Children2:[id,parent_id,name]Children3:[id,parent_id,name]Children4:[id,parent_id,name]Parent.hasMany->Children1.hasMany->Children2.hasMany->Children3.hasMany->Children4所以,如果我这样做:Parent->findOne({include:[{model:Children1},{model:Children2

MySQL group by with rollup, coalesce/ifnull, and date 函数

我遇到了MySQL的ROLLUP和处理结果NULL的问题。IFNULL/COALESCE函数与普通列一起使用效果很好,但在与日期函数一起使用时似乎会崩溃。示例如下:SELECTYEAR(date_time)ASYear,count(x)ASCountFROMmytableGROUPBYyearWITHROLLUP返回(如预期)YearCount---------2015320162NULL5当我查询非日期列(例如varchar)时,我可以通过使用IFNULL或COALESCE函数将NULL值替换为字符串来处理NULL值。但是,当我将相同的逻辑应用于上述查询时,它似乎不起作用。SELEC

SQL 查询查找表中 min_numbers 和 max_number 之间的空洞

SQL专家的快速问题。我有一个表,其中包含两列-min_number和max_number我一直在尝试编写一个查询,该查询在最小和最大数字之间找到n大小的第一个洞例子minmax1.1002002.2503003.330400如果我想找到一个大小为50的孔,将返回第1行的最大值200(在该孔和第2行的最小值之间有一个50的孔),一个20的孔将返回第2行的最大值300等。如果不存在合适大小的孔,将返回最后一个最大值(400)。谢谢 最佳答案 已编辑:最终答案在底部。为什么这么多SQL题会忘记表名?--Buggy:shouldrefer

MySQL select where in but not in with join

我的数据库中有三个表:产品id(整数,主键)名称(可变字符)标签id(整数,主键)名称(可变字符)产品标签产品编号(整数)tag_id(整数)我正在执行SQL查询以选择具有给定ID的已分配标签的产品:SELECT*FROMProductsJOINProductTagsONProducts.id=ProductTags.product_idWHEREProductTags.tag_idIN(1,2,3)GROUPBYProducts.id我可以选择没有指定ID标签的产品:SELECT*FROMProductsJOINProductTagsONProducts.id=ProductTags