草庐IT

GROUP_CONCAT

全部标签

MySQL Group by Sum by Day

我有一张tableidintpkauto_inc|createdint(11)|amountint|user_idint我想创建一个按天分组的行列表,总计金额字段。我试过这个:SELECTcreated,sum(amount)asamount,idFROMtotal_logWHEREuser_id=$this->user_idGROUPBYDAY(created)这不会给出正确的结果。他们被分组到一排。日期由dd/mm/yyyy格式保存为unix时间戳,如1349046000 最佳答案 SELECTDATE(FROM_UNIXTIM

mysql - 如何使用 LEFT JOIN 而不是 GROUP BY 来查询多个用户使用的电子邮件?

假设我有一个名为user_table的表:user_tableidfirst_namelast_namegenderemailcreated_at我该如何编写一个查询,列出多个用户使用的电子邮件?编辑:用LEFTJOIN代替GROUPBY能达到同样的结果吗? 最佳答案 SELECTemailFROMuser_tableGROUPBYemailHAVINGCOUNT(*)>1或者,您可以使用INNERJOIN:SELECTDISTINCTu1.emailFROMuser_tableu1INNERJOINuser_tableu2ONu1

php - 如何在 zend 框架中使 group by 可选?

我在zend中有一个fetchAll函数:publicfunctionfetchAll($where=1,$order=null,$limit=null,$group=null,array$fields=null){$where=(null==$where)?1:$where;$fields=(!isset($fields))?'*':$fields;$select=$this->db->select()->from("table",$fields)->where($where)->order($order)->group($group)->limit($limit,$offset);

mysql - 3 表加入 SUM 和 GROUP BY 不起作用

我正在使用三个表。AccountingLine-保存通用帐户详细信息预算-保存每个AccountingLine的预算数据(每个AccountingLine有很多行)实际-保存每个AccountingLine的实际成本数据(每个AccountingLine有很多行)我试图在单个查询中获取结果,该查询将从AccountingLine表返回所有行,并对Budget和Actuals表中每个AccountingLine的金额求和。使用下面的SQL,SUM不适用于预算或实际数据。如果我删除连接之一和SUM函数之一,那么它会为单个连接表正确计算。很奇怪...有人在MySQL的三个或更多表上使用多个S

mysql - 避免包含 group by 的嵌套子查询

有没有更好的方法在不使用嵌套子查询的情况下执行此查询?--selectallracesforjockeyswhichhavemultipleregionsselectdistinctr.id,r.descriptionfromjockeys_racesjrainnerjoinracesronr.id=jra.race_idwherejra.jockey_idin(selectjre.jockey_idfromjockeys_regionsjregroupbyjre.jockey_idhavingcount(*)>1);骑师可以属于多个地区。骑师可以参加多场比赛。

php - MySQL GROUP BY 多个列和字段

我试图在这里搜索答案,很少有问题与我的问题非常相似,但我仍然无法弄清楚如何在下面进行GROUPBY。MYSQL结构:ID|USERID|FRIENDID1|14|652|65|143|12|194|19|12如何使用php查询按ID1和ID2以及ID3和ID4进行分组?结果:1.14&652.12&19 最佳答案 SELECTLEAST(USERID,FRIENDID)asx,GREATEST(USERID,FRIENDID)asyFROMTableNameGROUPBYx,ySQLFIddleDemo

MySql:Concat IF'ed 值

试图找到一种方法将CONCAT与IF结合起来——或者以其他方式显示逗号分隔列表中设置标志的文本值。注意:这最终适用于包含10列以上的表格。这里使用两个来简化。假设我有一张带有旗帜的table。如果标志是1我想显示一些文本值,别的什么都没有。origin:+--+-----+-----+|#|CHS|ACC|+--+-----+-----+|1|0|1||2|1|1||3|1|0||4|0|0|+--+-----+-----+我要:+--+----------+|#|origin|+--+----------+|1|ACC||2|CHS,ACC||3|CHS||4||+--+------

MySQL : how to group multiple row into one row

请帮帮我。我在mysql中的表是这样的:kd_mapel|Sem1|Sem2|Sem3EKO-001|79|NULL|NULLEKO-002|NULL|80|NULLFIS-001|77|NULL|NULLFIS-002|NULL|76|NULLFIS-201|NULL|NULL|81GEO-001|79|NULL|NULLINA-001|79|NULL|NULLINA-002|NULL|80|NULLINA-003|NULL|NULL|79ING-001|77|NULL|NULLING-002|NULL|79|NULLING-003|NULL|NULL|80预期结果是:kd_mape

mysql - "If value exists in table"- 有这样的东西吗?

我是mysql的新手,我需要一些帮助。我想从表中选择一个值存在的所有行,但不选择该值:例如:IDITEM--------------------1AA122S1AB2F452BB31313AA3F453F673A......类似于:SELECTID,ITEMFROMTABLE1IFItem"AA"ispresentexcept"AA"这将返回:1225,AB31,1,F45,F67,A执行此操作的实际查询是什么?谢谢 最佳答案 您可以使用group_concat()获取列表:SELECTID,group_concat(casewhe

PHP MySQL Group By结果数组

***********************id*typ*cl************************1*1*1**2*4*1**3*7*1**4*2*2**5*4*2**6*8*2***********************嗨,frnz,我对mysqlgroupby有问题......厌倦了在谷歌上寻找所以最后在这里发布......我的表结构如上所示。我正在使用以下查询...$sql2w=executeQuery("select*fromlogogroupbycl");while($line2=mysql_fetch_array($sql2)){echo$line2['ty