草庐IT

zend_db_select

全部标签

mysql - jpa原生查询,select同一张表两次问题(hibernate实现)

有一个要求我应该使用jpanative查询(因为jpa不支持timestampdiff函数)。另外我应该选择同一张表两次,例如:我有表:个人、任务等我使用的native查询是:“selectemp.name,tsk.name,app.name,fromIndividualemp,Tasktsk,Individualappwhere......”我想要的预期数据是:“Tom,task1,Jack”,但是给定此nativesql查询的结果数据是“Jack,task1,Jack”。这意味着app.name会覆盖emp.name。如果我想获得正确的结果,我必须使用如下查询:“selectemp

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 - Doctrine 2 不承认 FROM 子句上的 SELECT

我有一个SQL查询,我想在Doctrine2中使用。我的查询转到数据库,执行GROUPBY用户状态和COUNT每个状态的用户数。然后我尝试加入一个表以COUNT所有用户并为每个州计算一个百分比。return$this->getEntityManager()->createQuery("SELECTCOUNT(u.id)astotal,(100*(COUNT(u.id)/total_users.total))aspercentFROMUserBundle:Useru,(SELECTCOUNT(*)astotalFROMUserBundle:User)astotal_usersLEFTJO

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

mysql - 在 SELECT 语句的其他列中使用别名

我想对我的SELECT查询和列做一些基本的数学运算..SELECTRider,COUNT(if(Result=1,Result,NULL))AS"Firsts",COUNT(if(Result=2,Result,NULL))AS"Seconds",COUNT(if(Result=3,Result,NULL))AS"Thirds",COUNT(if(Result="",Result,NULL))AS"NP",COUNT(*)AS"Total","Firsts"/"Total"*100AS"S/R"FROMmeeting_masterWHERERaceDayDate>="2012-01-0

php - 将 php assoc 数组键和值传递到 MySql SELECT 语句中

我正在使用php+mysql,我在数据库中有这样的表:col1-col2-col3A-val1-str1A-val2-str2A-val3-str3B-val4-str4B-val5-str5...还有在php中关联数组:$arr=array('A'=>'value1','B'=>'value2',...);然后我将此数组传递到MySql字符串中的占位符中以生成完整的SELECT语句。如果第1列的值等于数组的键值且第2列的值分别小于数组值,如何选择第3列的值?也许以某种方式使用GROUP和两个选择并将它们连接在一起......结果应该只是满足要求的所有第3列值的列表。它可以像这样使用某

如果下一行是不同的值,MySQL SELECT 行?

我在谷歌上搜索了很多,但我不太明白这一点。如果这是一个微不足道的问题,我深表歉意。如果“batter”列等于某个值并且下一行不是同一个面糊,我想选择一行。我正在尝试获取代表击球最终音高的行。如果是最后一球,那么下一行就是新的击球手。如果有帮助,我正在使用自动递增的ID列。编辑:以下是数据的组织方式。现在,如果我想知道击球手“276055”被击出多少次,我会这样做:SELECT*FROM`mlb2012`WHEREbatter="276055"ANDatbat_event="strikeout"ANDatbat_pitch="1"但如果我想知道他有多少次三振出局,我需要知道击球最后一球的

mysql - 加载数据 INFILE 时 db 和 csv 文件中的不同列名

我正在尝试使用LOADDATALOCALINFILE将数据加载到MYSQL(在MAMP中)。数据库表中指定的某些数据元素与数据文件(多个csv文件)中的列名不同。例如:数据库有一个“location_affected”列,而数据文件的同一数据元素有一个名为“location_name”的列。此外,数据文件不会始终具有相同的列数或相同的列名。每个数据文件可能包含数据库表中指定的约200个数据元素中的大约30-40列。谁能建议如何在db表和csv文件之间映射列名?我尝试了以下但它抛出错误:“location_name不存在”LOADDATALOCALINFILE'pathtothefile

mysql - 使用 select、group by 和 count 时如何获得非空结果集?

这是当前查询:SELECTstatus.ct_reconcile_status,IFNULL(COUNT(status.ct_reconcile_status),0)ASsch_change_status_numFROMdb_crewops_cm_actionstatusWHEREstatus.ct_reconcile_statusIN('SUCCESS','FAILED')ANDstatus.updated_ts>UTC_TIMESTAMP()-INTERVAL60minuteGROUPBYstatus.ct_reconcile_status;我想要得到的结果是这样的:SUCCESS

mysql - Codeigniter db->update() VS MySQL native 更新受影响的行 : 0

单独使用MySQL-如果我对这样的表进行基本更新:UPDATE`SOMETABLE`SET`NAME`='John'WHERE`ID`=1;NAME='John'的值已经是'John'-换句话说-没有什么是新的,没有什么更新。MySQL返回“受影响的行:0(查询耗时0.0007秒)”如果我进行相同的调用-现在使用CodeIgniter-然后像这样检索受影响的行:$data=array('NAME'=>'John');$this->db->where('ID',1);$this->db->update('SOMETABLE',$data);$affect=$this->db->affec