GROUP BY WITH HAVING(DISTINCT):PHP,MYSQL

编程入门 行业动态 更新时间:2024-10-11 09:25:46
本文介绍了GROUP BY WITH HAVING(DISTINCT):PHP,MYSQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

id | mid | pid | owgh | nwgh | 1 3 12 1.5 0.6 2 3 12 1.5 0.3 3 3 14 0.6 0.4 4 3 15 1.2 1.1 5 4 16 1.5 1.0 6 4 17 2.4 1.2 7 3 19 3.0 1.4

nwgh与其相应的总和。 id ex:mid = 3或mid = 4 但带有DISTINCT pid,但请注意nwgh的总和不应该为DISTINCT

因此,我的结果如下:

mid | countmid | totalnwgh 3 4(DISTINCT值)3.8(无DISTINCT它需要pid = 12的两个值) 4 2 2.2

在上面的结果中= 3有计数4因为pid = 12被重复,因此它的DISTINCT 但nwgh不应该是DISTINCT,它的总计数

我试过的东西

选择mid,COUNT(mid)作为countmid,SUM(nwgh)作为来自test的totalnwgh,其中mid = 3 GROUP BY mid HAVING count(DISTINCT pid) pre>

解决方案

如果我理解您的要求,您只需在 强> COUNT 即可。

您可以试试这个:

SELECT mid, COUNT(distinct pid)作为countmid, SUM(nwgh)作为totalnwgh FROM test GROUP BY mid

如果你愿意,可以试试这个sqlfiddle: http:// sqlfiddle /#!9 / 45e68 / 2

id | mid | pid | owgh | nwgh | 1 3 12 1.5 0.6 2 3 12 1.5 0.3 3 3 14 0.6 0.4 4 3 15 1.2 1.1 5 4 16 1.5 1.0 6 4 17 2.4 1.2 7 3 19 3.0 1.4

From Above i want total count of mid AND SUM of nwgh with its resp. id ex: mid=3 or mid=4 but with DISTINCT pid but please note sum of nwgh should not be DISTINCT

Hence my result will be as below :

mid | countmid | totalnwgh 3 4 (DISTINCT value) 3.8 (no DISTINCT it take both value of pid =12) 4 2 2.2

in above result mid = 3 have count 4 beause pid = 12 is repeated hence its DISTINCT but nwgh should not be DISTINCT , its total count

what i have tried

Select mid , COUNT(mid) as countmid , SUM(nwgh) as totalnwgh from test where mid = 3 GROUP BY mid HAVING count(DISTINCT pid)

解决方案

If I understand what you want, you just have to do a distinct in your COUNT.

You can try this :

SELECT mid , COUNT(distinct pid) as countmid , SUM(nwgh) as totalnwgh FROM test GROUP BY mid

Try this sqlfiddle if you want : sqlfiddle/#!9/45e68/2

更多推荐

GROUP BY WITH HAVING(DISTINCT):PHP,MYSQL

本文发布于:2023-11-22 01:41:47,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:DISTINCT   GROUP   MYSQL   PHP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!