草庐IT

sum_table

全部标签

MySQL SUM IF 列具有特定值

有没有办法只在满足特定条件时才对行求和?如果不满足,则必须将它们复制到新表中。例如,如果我有这张表|id|A|B|--------------|1|a|2||1|b|4||1|c|1||2|a|4||3|a|1||3|b|5|我想要这样的输出|id|A|B|--------------|1|a,b|6||1|c|1||2|a|4||3|a,b|6|它只会在“A”列是“a”或“b”时求和,如果它是“c”,它只会复制值 最佳答案 您可以在两个不同的Select查询中执行此操作。在第一个Select查询中,只考虑A具有值“a”或“b”的情

mysql - 像 "User_type table"这样的 TYPE 表的目的是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我不确定标题问题。只是为了详细说明。我有表Users和列:姓名(示例值:“Meg”、“Sam”等)类型(示例值:“Admin”、“Operator”、“Maintainer”)图片(示例值:“12344.jpg”等)等等有人告诉我,我必须创建一个带有种子值的表User_type。管理员[主ID:1]运算符(operator)[主ID:2]维护者[主ID:3]并将列Type更改为Type_i

mysql - 数据库问题 : Fetching a default translation from a table

你好,我有一个MySQL表descriptions,其中包含以下字段:lang_id、label、short_description、long_description和is_default。在我的应用程序中,产品描述是根据当前语言从数据库中获取的。目前一切正常,但我想为每个产品添加默认描述,以便在找不到所需语言的描述时,将获取默认描述。现在,我的请求是这样的:SELECTdescription.idASrecord_iddescription.label,description.short_description,description.long_descriptionFROMprod

CREATE TABLE 期间 MySQL 错误 150

我有一个名为tbl_groupmaster的表是用SQL创建的,如下所示:createtabletbl_groupmaster(tgm_groupidint(10)unsignedNOTNULLauto_increment,tgm_groupnamevarchar(50),tgm_groupdescriptionvarchar(50),PRIMARYKEY(tgm_groupid))我正在创建另一个名为tbl_groupmanager的表,使用外键关系:createtabletbl_groupmanager(tgmgr_groupmangeridint(10)NOTNULL,tgm_g

mysql - 更新列 Group by 的 SUM

UPDATEtable_nameSETcol3=SUM(col2)GROUPBYcol1报错:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'GROUPBYcol1'如何解决?Col1|col2|col3Water|22|water|3|water|5|Air|10|Earth|3|Air|5|Iwantincol3theresultsasfollowsCol1|col2|col3Water|22|30water|3

如果 MAX() 等于当前行 SUM() 聚合值,MySQL 如何选择 1?

我想选择一个名为sliced的新列(值可以是1/0或true/false但它不是matter)如果当前行的area等于MAX(SUM(c.area)),即flag具有最高聚合值的行:SELECTp.nameASname,SUM(c.area)ASareaFROMCityAScINNERJOINProvinceASpONc.province_id=p.idINNERJOINRegionASrONp.region_id=r.idWHEREr.id=?GROUPBYp.idORDERBYp.nameASC我尝试将area=MAX(area)ASsliced或什至area=SUM(MAX(c.

mysql - MySQL 中时间值的聚合函数 SUM

当我在MySQL中尝试SUM(TIMEDIFF(finishTime,'starttime'))时,我正在尝试生成排名列表,其中我必须对许多持续时间求和以获得总时间我注意到两个持续时间的相加就好像它们是两个正常数字一样,即如果我添加00:00:50和00:00:50,我得到00:01:00作为答案。TO_SECOND在MySQL5.1中不可用。 最佳答案 SUM(TIMEDIFF(TIME_TO_SEC(finishtime)-TIME_TO_SEC(starttime)));使用TIME_TO_SEC将TIME转换为秒数以进行数学

mysql - 使用另一个 SELECT 更新表,但字段为 SUM(someField)

基本上我有这样的东西:UPDATETableSETTable.col1=other_table.col1,FROMTableINNERJOINother_tableONTable.id=other_table.id问题是我想更新col1的选择如下:SELECTSUM(col1)FROMother_tableWHERETable.id=other_table.idANDperiod>2011编辑正确答案:UPDATEbestallINNERJOIN(SELECTbestid,SUM(view)asv,SUM(rawView)asrvFROMbeststatWHEREperiod>2011

mysql - SQLSTATE[42000] : Syntax error or access violation: 1286 Unknown table engine 'InnoDB'

有些人可能会说“其他线程中有很多答案”或“谷歌搜索”。但实际上我没有找到答案。我正在使用symfony开发一个PHP/MySQL项目,出于未知原因(意思是“我没有写任何php行”),我得到了这个错误“SQLSTATE[42000]:语法错误或访问冲突:1286未知表引擎“InnoDB””。我已经尝试过这些解决方案:重启MySQL停止MySQL,删除ib_logfile0和ib_logfile1,启动Mysql做一个“展示引擎”。此命令不返回“InnoDB”的任何实例。甚至没有“不活跃”(很奇怪,对吧?)。(甚至更奇怪)PHPMyAdmin显示所有表,除了使用InnoDB的表显示“已使用

php - MYSQL SELECT SUM() BY DATE IF NO MATCH RETURN 0

我已经将三个表相互连接起来。我正在查询关键字+统计信息。我需要按日期范围获取数据,并且如果没有该特定日期范围内的数据我希望它返回0个统计信息假设我的查询是:SELECTkeyword,SUM(stat)FROMkeywordsWHEREdate>='2012-07-10'GROUPBYkeyword;它会返回|我的关键词1|3||我的关键词2|6|示例表格内容:|编号|关键字|统计|日期|关键字组||1|我的关键字1|2|2012-07-11|1||2|我的关键字1|1|2012-07-12|1||3|我的关键字2|6|2012-07-11|1||4|我的关键字3|10|2012-07