gpt4 book ai didi

mysql查询: SELECT DISTINCT column1, GROUP BY column2

转载 作者:IT老高 更新时间:2023-10-28 23:51:38 25 4
gpt4 key购买 nike

现在我有以下查询:

SELECT name, COUNT(name), time, price, ip, SUM(price) 
FROM tablename
WHERE time >= $yesterday
AND time <$today GROUP BY name

而我想做的是在“ip”列中添加一个 DISTINCT,即

SELECT DISTINCT ip FROM tablename 

所以我的最终输出将是所有列,来自今天时间所在的所有行,按名称分组(每个重复名称的名称计数)并且没有重复的 IP 地址。

我的查询应该是什么样的? (或者,如何使用 php 将缺少的过滤器添加到输出中)?

提前致谢。


[更新]

为了尽量减少混淆,请考虑这个(简化的)数据库表:

|   name   |   ip   |
---------------------
| mark | 123 |
| mark | 123 |
| mark | 456 |
| dave | 789 |
| dave | 087 |

我正在寻找的结果将是一个如下所示的 HTML 表格:

|  name    |  name count   |
----------------------------
| mark | 2 |
| dave | 2 |

我目前得到的是:

|  name    |  name count   |
----------------------------
| mark | 3 |
| dave | 2 |

(即使两次使用相同的ip,它也会标记3次)。

最佳答案

您可以使用COUNT(DISTINCT ip),这只会计算不同的值,例如:

SELECT name, COUNT(name), time, price, COUNT(DISTINCT ip), SUM(price) 
FROM tablename
WHERE time >= :yesterday
AND time < :today GROUP BY name

关于mysql查询: SELECT DISTINCT column1, GROUP BY column2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2483492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com