草庐IT

user_groups

全部标签

sql - 在 SQL 中,没有 Count(*) 或 Sum()、Max()、avg() 等的 Group By 是什么意思,它有哪些用途?

在SQL中,如果我们不使用Count(*)或Sum()等而使用GroupBy,那么结果如下:mysql>select*fromsentGifts;+--------+------------+--------+------+---------------------+--------+|sentID|whenSent|fromID|toID|trytryWhen|giftID|+--------+------------+--------+------+---------------------+--------+|1|2010-04-24|123|456|2010-04-2401:5

MySQl GROUP BY 和 ORDER BY 没有做我想做的事

我想在对结果进行分组之前对其进行排序,但我似乎无法完成。我有这个问题:SELECTDISTINCTproduct.id,product_number_value.att_valueASproduct_number,color_number_value.option_codeAScolor_number,size_value.option_codeASsize_code,size_value.option_positionASsize_positionFROMproductINNERJOINproduct_attribute_relationalASproduct_number_rela

sql - GROUP BY 查询未按预期排序

我不知道为什么我不能让这个查询按我想要的方式工作,希望你能赐教。SELECTe.id,e.num,e.name,s.nameass_name,t.numast_num,e.show_idFROMs_episodeseLEFTJOINshowssONs.id=e.show_idLEFTJOINs_seasonstONt.id=e.season_idGROUPBYe.show_idORDERBYe.dateaddedDESCdateadded是一个整数(unix时间戳)。e.num,t.num也是int。本应显示最新添加的剧集,但是当GROUPBY对行进行分组时,列出的剧集不是最新的,而是

sql - MySQL SELECT n条记录基于GROUP BY

假设我有SQL记录:Country|NumberUSA|300USA|450USA|500USA|100UK|300UK|400UK|1000我正在做这样的事情:SELECT*FROMtableGROUPBYCountry。如果,我想选择在每个国家/地区只显示2个最大数字的结果怎么办?我该如何存档?结果是:Country|NumberUSA|450USA|500UK|400UK|1000 最佳答案 示例数据createtabledata(Countryvarchar(10),Numberint);insertintodatasele

MySQL GROUP BY 来自不同表的多列

我有以下表格布局:TableData+----------+-------------------------+|Field|Type|+----------+-------------------------+|type|enum('type_b','type_a')||type_id|int(11)unsigned||data|bigint(20)unsigned|+----------+-------------------------+TableAandB:+--------------+------------------+|Field|Type|+-------------

mysql view with group by - 性能问题

我有一个收集网页性能数据的表格。有多台机器,每隔10分钟测试多个站点,所以目前我有大约700,000行(920MB),每天有+/-50,000新行。表格来源:SETSQL_MODE="NO_AUTO_VALUE_ON_ZERO";CREATETABLE`http_perf_raw_log`(`run_dt`int(11)DEFAULTNULL,`dataset`varchar(64)DEFAULTNULL,`runner`varchar(64)DEFAULTNULL,`site`varchar(128)DEFAULTNULL,`machine`varchar(32)DEFAULTNUL

php - MySQL:用户 some_user_name 已经有超过 'max_user_connections' 个事件连接

我正在为我的网站使用ZendFreamwork。有时我的网站会出现以下异常:Message:SQLSTATE[42000][1203]Userelibrary_booksalreadyhasmorethan'max_user_connections'activeconnections据我所知,“ZendFreamwork”使用PDO连接到数据库。我该如何解决这个问题? 最佳答案 总是关闭你的连接。如果您使用的是Sql类,它看起来像:$sql->getAdapter()->getDriver()->getConnection()->d

mysql - 从聚合值中确定 "first user who did x"

我有一个数据库驱动的社区网站,用户可以在其中发布条目。每个条目都有一个日期。现在我想知道谁是第一个条目数为1000的用户。这可以通过SQL查询实现,还是我必须以编程方式执行此操作,对每个帖子进行计数,直到达到限制?还是其他解决方案? 最佳答案 createtableposts(idintnotnullauto_incrementprimarykey,user_idint,post_datedate)engine=myisam;insertintoposts(user_id,post_date)values(1,'2011-03-02

mysql - GROUP_CONCAT() 中的条件

伙计们,我的数据库中有以下表格位置id(主键)姓名项目id(主键)location_id(外键=>位置)项目名称里程碑id(主键)姓名状态id(主键)状态项目里程碑id(主键)project_id(外键=>项目)milestone_id(外键=>里程碑)status_id(外键=>状态)在这里,为了列出所有项目的所有里程碑(状态为9),我使用以下查询SELECTprojects.projectname,locations.name,DATE_FORMAT(projects.created_at,'%d-%m-%y')asprojectdate,GROUP_CONCAT(mileston

mysql - MySQL 查询的 GROUP BY 部分中的 bool 逻辑

我目前有一个客户表,其中有重复的客户。我想选择一个唯一的客户列表,没有重复的家庭电话或手机。因此,如果任何客户与另一位客户拥有相同的家庭电话或手机,我不想从查询中返回该客户。一个警告——如果homephone或cellphone是空的,那么我显然不想在防重复逻辑中将其计入,因为有些客户只有homephone,或者只有cellphone。这是我当前的查询,它返回家庭电话和手机的唯一行。SELECTid,firstname,lastname,homephone,cellphone,city,state,zip,country,FROMcustomersWHERE(homephone!=""