从不同的mysql查询获得非独特的结果

时间:2009-06-30 08:44:30

标签: php mysql

是的,关于查询的另一个问题(肯定会有比mySQL手册更有用的语法指南吗?)

我有这个问题(来自另一个有用的答案)......

SELECT DATE_FORMAT(`when`, '%e_%c_%Y')date, COUNT(`ip`) AddressCount FROM `Metrics` WHERE `ID` = '1' GROUP BY DATE(`when`)

我现在想要进行类似的查询以获得IP的唯一/不同结果...即每个日期的唯一访问者。我的疑问是......

SELECT DATE_FORMAT(`when`, '%e_%c_%Y')date, COUNT(distinct `ip`) AddressCount FROM `Metrics` WHERE `ID` = '1' GROUP BY DATE(`when`)

然而,这会返回重复的日期,但Addresscount的数量不同......

date    AddressCount
29_6_2009   1
30_6_2009   1
29_6_2009   1
30_6_2009   1
29_6_2009   1
NULL    1
15_5_2009   1
14_5_2009   2
NULL    3
14_5_2009   4
15_5_2009   1
26_6_2009   1
29_6_2009   1
26_6_2009   1
15_5_2009   1
26_6_2009   1
29_6_2009   1

关于我哪里出错的任何想法?

2 个答案:

答案 0 :(得分:2)

您的小组将需要匹配您选择的数据,因此这应该有效:

SELECT DATE_FORMAT(`when`, '%e_%c_%Y')date, COUNT(distinct `ip`) AddressCount FROM `Metrics` WHERE `ID` = '1' GROUP BY date

答案 1 :(得分:0)

尝试

  

SELECT DATE_FORMAT(when,'%e_%c_%Y')日期,COUNT(不同ip)AddressCount FROM Metrics WHERE ID ='1'GROUP截止日期(何时)

在MySQL中使用保留字时可能会遇到一些错误