Php 筛选数据库值

Php 筛选数据库值,php,mysql,database,Php,Mysql,Database,我有一张像下面这样的桌子 |-----|-----|--------| | id | num | amount | |-----|-----|--------| | 101 | a | 10 | | 102 | a | 6 | | 102 | a | 3 | | 101 | b | 5 | | 101 | a | 10 | | 101 | b | 5 |

我有一张像下面这样的桌子

  |-----|-----|--------|
  | id  | num | amount |
  |-----|-----|--------|
  | 101 | a   |     10 |      
  | 102 | a   |      6 |   
  | 102 | a   |      3 |
  | 101 | b   |      5 |  
  | 101 | a   |     10 |
  | 101 | b   |      5 |         
  |-----|-----|--------|
我想展示的是

  |---------------------|------------------|---------------------|
  |        id           |     num          |        amount       |
  |---------------------|------------------|---------------------|
  |       101           |       a,b        |          5          |        
  |---------------------|------------------|---------------------|

也就是说,如果num表中的两个不同的值具有相同的id,则将它们的数量相加并除以3,其他值将被丢弃。如何使用mysql实现这一点???

我认为这个查询可以满足您的要求。它检查具有多个与其相关联的不同值
num
的id值,并显示其金额除以3的
SUM
。我在
num
上放置了一个
GROUP\u CONCAT
,以便输出包含一个不同
num
值的列表

SELECT id, GROUP_CONCAT(DISTINCT num) AS nums, SUM(amount) / 3 AS amount
FROM table1
GROUP BY id
HAVING COUNT(DISTINCT num) > 1
输出:

id      nums    amount
101     a,b     5

我想这个查询可以满足您的要求。它检查具有多个与其相关联的不同值
num
的id值,并显示其金额除以3的
SUM
。我在
num
上放置了一个
GROUP\u CONCAT
,以便输出包含一个不同
num
值的列表

SELECT id, GROUP_CONCAT(DISTINCT num) AS nums, SUM(amount) / 3 AS amount
FROM table1
GROUP BY id
HAVING COUNT(DISTINCT num) > 1
输出:

id      nums    amount
101     a,b     5


到目前为止,您尝试了什么?也可能只有两个或更多的值?提示-通过拥有分组。@MadhurBhaiya有更多的值,这只是demo@BishalChhetri检查到目前为止您尝试了什么?也可能只有两个或更多的值?提示-通过使用进行分组。@MadhurBhaiya有更多的值这只是demo@BishalChhetri支票很有魅力。非常感谢你,尼克。不用担心,很高兴我能帮上忙。如果你能接受答案(上/下投票箭头下的勾号),那就太好了。我的声誉不到15个,这不会表示抱歉:)你可以接受一个没有任何声誉的答案。事实上,你通过接受答案来赢得声誉。你不能投赞成票或反对票。这是箭头下面的小记号。谢谢:)像个符咒。非常感谢你,尼克。不用担心,很高兴我能帮上忙。如果你能接受答案(上/下投票箭头下的勾号),那就太好了。我的声誉不到15个,这不会表示抱歉:)你可以接受一个没有任何声誉的答案。事实上,你通过接受答案来赢得声誉。你不能投赞成票或反对票。这是箭头下面的小记号。完成了,谢谢:)