草庐IT

group_keys

全部标签

php - GROUP BY 计算不正确

我有这个声明:SELECTCOUNT(ID)ASnumberVote,AWARD_ID,NOMINEE_ID,VOTER_ID,MULTI_CODEFROMb_awards_voteWHEREAWARD_ID=8GROUPBYMULTI_CODE我的表格是这样的:ID|AWARD_ID|NOMINEE_ID|VOTER_ID|MUTLI_CODE1|8|3|1|48372|8|4|1|48373|8|5|1|4837但是在php中返回:$numberVote=$row['numberVote'];此语句返回3。这里是我想要的更多细节:所有具有相同MULTI_CODE的条目实际上都是1票

mysql - 在信息模式中使用 KEY_COLUMN_USAGE 计算外键的数量

我有一个非常大的MySQL数据库,我需要知道它有多少个外键。我尝试使用命令:SELECTCOUNT(*)AS'numberofforeignkeys'FROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERETABLE_SCHEMA='pubs'ANDREFERENCED_TABLE_NAMEISNOTNULL;在一个小型数据库(pubs)中,它返回了正确数量的外键,但我不确定这个查询是否在所有情况下都正常。这个查询是否正确?还有别的办法吗?提前致谢。 最佳答案 referential_constrai

mysql - SQL Group By 和两列计数

我有一个MySQL表,其中的数据为:-country|city---------------italy|milanitaly|romeitaly|romeireland|corkuk|londonireland|cork我想查询这个并按国家和城市分组,并且有城市和国家的计数,如下所示:-country|city|city_count|country_count---------------------------------------------ireland|cork|2|2italy|milan|1|3italy|rome|2|3uk|london|1|1我能做到:-SELECT

mysql - INSERT INTO table DEFAULT(key_col) 插入零?

我在tbl中有这个主键列:`id`INT(5)unsignedNOTNULLAUTO_INCREMENTPRIMARYKEY当我运行下面的查询时,插入零而不是下一个自动递增数字:INSERTINTO`tbl`(id,col1,...)VALUES(DEFAULT(id),"value1",...)有趣的是,这种行为是最近发生的,让我想知道我可能更改了哪些设置会导致这种情况。我首先考虑的是NO_AUTO_VALUE_ON_ZERO。我已将其添加到配置文件中的sql_mode,现在是这样的:sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE

mySQL:CASE、GROUP 和 ORDER By

我有一个简单的表,其中存储了一堆股票的市值。我正在尝试查看是否可以创建一个将返回如下内容的查询:cap_typetype_countmicro4small6large1mega2我不确定如何调整此查询以计算不同选择案例组中cap_types的数量。这是我到目前为止所拥有的:SELECTCASEWHENmarket_cap=10=50=10=50这是一些示例数据:CREATETABLE`stocks`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`stock`varchar(4)COLLATEutf8_unicode_ciDEFAULTNULL,`m

mysql - 为什么这个 MySQL 语句中的 GROUP BY 子句不抛出错误?

我在here中使用w3s作为示例SELECTShippers.ShipperName,COUNT(Orders.OrderID)ASNumberOfOrders,Orders.OrderDateFROMOrdersLEFTJOINShippersONOrders.ShipperID=Shippers.ShipperIDGROUPBYShipperName;我很困惑为什么上面的语句没有抛出错误。当我们按所有OrderID进行聚合时,MySQL如何知道要使用哪个OrderDate? 最佳答案 HowdoesmysqlknowwhichO

MySQL 日期范围多列计数和 Group By Select 语句

我有一个查询我已经研究了一段时间,但我似乎无法把它记下来。此处的其他答案适用于计算特定日期范围内的金额,然后按日期分组以获得计数。但是,我需要计算两列并按日期分组。例如,这是我试图开始工作的查询:(SELECTCOUNT(*)arrived,DATE(arrived)date,'arrived'ASsourceFROMproductsWHEREarrivedBETWEEN'2016-01-01'AND'2016-01-31'GROUPBYDATE(date)ORDERBYdateASC)UNIONALL(SELECTCOUNT(*)released,DATE(released)date

group_concat 上的 MySQL varchar 列在 View 中显示为文本

我在基表中有列作为acct_numvarchar(25),我正在创建一个View并将GROUP_CONCAT()设置到该列。这在showcreateView中显示为text数据类型。GROUP_CONCAT(acct_num)列是否可以有VARCHAR(25)数据类型。请指教。我从MySQL引用资料中学到的东西:Ithoughtocastasvarchar(25)butCASTcanbeappliedasCHARnotasVARCHARThereisoptiontosetGLOBAL_SET_GROUP_CONCAT_VALUE=512sothatyoucangetoutputofGR

mysql - GROUPing 时,mariaDB 是否不支持 SELECT 语句中的函数依赖?

我的SQL语句中的GROUPBY有一些问题。我正在使用mariaDB10.1.17并注意到在执行如下SQL语句时出现错误:SELECT`pubs`.`ID`AS`ID`,AVG(`reviews`.`atmosphere`)AS`average`,`pubs`.`name`AS`name`,`pubs`.`country`AS`country`FROM`pubs`LEFTJOIN`reviews`ON`pubs`.`ID`=`reviews`.`pub_ID`GROUPBY`pubs`.`ID`ORDERBY`average`DESC,`reviews`.`date`DESC我得到的错

mysql - SQL:如何过滤 GROUP BY 之外的结果

原始问题Thefollowingrelationskeeptrackofairlineflightinformation:Aircraft(aircraft_number,aircraft_make,cruisingrange)Certified(pilot_id,aircraft_number)Pilot(pilot_id,pilot_name,salary)Notethatitalicattributesdenoteprimarykeys.Inthisschemeeverypilotiscertifiedforsomeaircraft.Writeeachofthefollowing