2014-02-22 86 views
0

这应该很简单,但我正在努力处理这个查询。使用DISTINCT和COUNT复杂的mySQL查询返回结果

我的第一个查询:

(SELECT DISTINCT(firstdaytaken) AS dates, stid FROM tmp_student_pages) 

回报

....dates......|.....stid 

2014-02-19.....|.........1 

2014-02-22.....|.........2 

2014-02-22.....|.........3 

我想ONE完整的查询返回DISTINCT日期和计数的EACH

喜欢的东西

unique dates...|.....tot experiences 
______________________________ 

2014-02-19.......|...........1 

2014-02-22.......|...........2 

在此先感谢 - 已经花了太多时间在试图得到一个解决方案 这是据我已经得到了 - 与不正确的结果

SELECT COUNT(DISTINCT(newdates)),newdates 
FROM 
(SELECT DISTINCT(dates) AS newdates 
FROM 
(SELECT DISTINCT(firstdaytaken) AS dates, stid FROM tmp_student_pages) d) f 
GROUP BY newdates 

* 注意 我添加了一个链接到一个数据库表的图形 - 希望有所帮助。

http://www.quizzicle.com/examples/tmp_student_pages.gif

+0

请包括数据以及要求的结果样本,以便更容易地为您提供帮助。 –

+0

对不起 - 第一次发布在这里 - 如果任何人无法帮助,也可以为未来的任何职位。 – user3341559

回答

2

看来你想要一个group by查询与count

SELECT firstdaytaken, count(stid) FROM tmp_student_pages 
group by firstdaytaken; 
+0

这很接近,但结果如下: firstdaytaken ...... count(stid) 2014-02-19 ............. 22 2014-02-22 ... .......... 43 – user3341559

+0

这很接近,但结果如下: firstdaytaken ...... count(stid) 2014-02-19 ............ .22 2014-02-22 ............. 43 请参阅tmp_student_pages表格,其中包括学生体验的课程的每个页面 - 每个页面行包括stid列和datetime (firstdaytaken)列。 我需要从tmp_student_pages表格中检索的是DISTINCT firstdaytaken和当天第一次体验课程的学生人数(stid)。 我会尝试编辑问题并包含tmp_student_pages表以供参考。 – user3341559

+0

GOT IT - 对上述查询的轻微调整提供了结果。 SELECT COUNT(DISTINCT( STID )),firstdaytaken FROM tmp_student_pages GROUP BY firstdaytaken LIMIT 0,30 许多感谢 – user3341559