草庐IT

mysql - 每组,找到 SUM(x) >= N 的前 N ​​个用户

问题:找到每个类别中至少有10个项目的前2位用户。表结构:CREATETABLEitems(idINTAUTO_INCREMENTPRIMARYKEY,datetimedatetime,categoryINT,userINT,items_countINT);示例数据:INSERTINTOitems(datetime,category,user,items_count)VALUES('2013-01-0100:00:00',1,1,10),('2013-01-0100:00:01',1,2,1),('2013-01-0100:00:02',1,3,10),('2013-01-0100:0

mysql - 使用两列计算总量,百分比?

我建立了一个表,其中包含各种商品、商品ID和价格等-我的数据库中还有一个存储的客户列表以及他们购买的商品。我希望能够计算这些商品的总增值税(16%),只计算已售出的商品(不是未售出的商品)。我试过这段代码:SELECTsum(items.price*sales.amount)as'TotalSold',sum((items.price*sales.amount)*0.16)AS'EstimatedTotalVatAmount'FROMsales但随后的结果是一个“未知列”,尽管它确实存在。在线查看鼓励我使用“内部连接”,但如果可能的话,我更愿意使用其他东西..这可能吗?如果是这样,我可

php - Laravel 哪里存在查询问题/不工作

好吧,我有一个项目表,其中可以存在具有相同“parent_uuid”的重复项目,可以“发布”或“丢弃”。我正在尝试获取一组“丢弃”的项目,其中发布的是0,但没有重复行具有已发布标记为1的相同“parent_uuid”。当我用sql编写查询时,它的行为是正确的:SELECT*FROM`items`AS`items`WHERE`published`=0AND`created_at`我的测试用例按预期返回。当我在Laravel查询生成器中这样写时:$discarded=self::from('itemsasitems')->where('published',0)->where('creat

mysql - 如何避免添加重复的外键约束

我想知道是否可以避免多次添加相同的外键约束?示例:如果我执行下面的查询3次,约束将在phpmyadmin中存在3次...如果我第二次和第三次应用该查询时被拒绝,那就太好了。ALTERTABLE`my_items_details`ADDFOREIGNKEY(`items_id`)REFERENCES`my_items`(`item_id`)ONDELETERESTRICTONUPDATECASCADE; 最佳答案 您可以为外键指定一个显式名称,而不是让MySQL为您指定一个默认名称。ALTERTABLE`my_items_detail

php - Mysql Join Query 多次给出相同的结果

我有两张table。一种是items,一种是tags。查询的here.想法是创建一个搜索框来搜索项目,然后通过选择标签来缩小搜索范围。(某种分面搜索)。在摆弄mysql教程之后,我想到了这个:SELECT`items`.`id`,`items`.`name`,`items`.`pay`,`items`.`desc`FROM`items`LEFTJOIN(`tags`)ON(`tags`.`item_id`=`items`.`id`)WHERE((`tags`.`type`='food'AND`tags`.`name`='pizza')OR(`tags`.`type`='drinks'A

mysql - 我应该在此查询中使用哪些 mysql 索引?

SELECT*FROMitemsWHEREcaptionLIKE'name%'ANDtype='private'ORownerLIKE'name%'type='private'ORDERBYusesDESCLIMIT40;可能的键:items_caption,items_owner,items_type键:items_uses(通过使用解释命令得到这些)执行该查询大约需要1.8秒,表中有超过百万条记录。我不知道如何为这个查询创建索引,而且我无法控制源,所以我无法修改查询。 最佳答案 您可以对“caption”进行全文索引,这会显着增

mysql - 统计table2的行不包括mysql中table1的所有行

我有表1,它表示具有列ItemID和列ItemInfo的项目。然后,我有表2,它表示具有列ItemID(父级)、列SubItemID和列SubItemInfo的子项。我正在尝试通过以下方式获取每个项目的所有子项目的数量:selectitems.itemID,count(*)ascountfromitems,subItemswheresubItems.itemID=items.itemIDgroupbyitemID除了没有子项目的项目外,它工作正常。不是返回子项计数为0的项行,而是该行根本不存在。是否有一种有效的方法来强制选择第一个表(项目)中的所有行? 最佳

sql - MySQL慢查询

SELECTitems.item_id,items.category_id,items.title,items.description,items.quality,items.type,items.status,items.price,items.posted,items.modified,zip_code.state_prefix,zip_code.city,books.isbn13,books.isbn10,books.authors,books.publisherFROM((itemsLEFTJOINbookitemsONitems.item_id=bookitems.item_

php - jQuery 全日历 : how to save dragged and re-sized items

从昨天开始,我一直在寻找一种方法来使用jQueryfullcalendar保存(mysql+php)拖动和重新调整大小的项目。没有教程,只有几个例子。有人可以发布他的工作json.php、json-events.php和外部数据库更新脚本吗?或者指导我找到最好的解释、教程或示例?I'mtryingtogetthisfullyworking非常感谢所有帮助! 最佳答案 它可能没有完全回答您的问题,但希望这会为您指明正确的方向。基本上我试图做同样的事情,但在ASP.NET中,使用日历作为数据操纵器并以某种方式从日历中捕获更新的事件并发送

mysql - 如何使用多个最昂贵的项目在 sql 中查找最昂贵的项目?

我的数据库中有不止一件价格最高的商品,我想知道如何在不使用LIMIT的情况下返回数据库中价格最高的最贵商品。我试过使用SELECTMAX(price)FROMitems但它只返回价格最高的一件商品(我有两件价格最高的商品)。我的数据库的模式是items(itemID:integer,description:string,price:integer) 最佳答案 这会起作用。SET@p1:=(SELECTMAX(price)FROMitems);SELECT*FROMitemsWHEREprice=@p1;使用变量,p1存储表items