【发布时间】:2015-10-03 14:38:21
【问题描述】:
请帮我解决这个问题。
我有一个表学生,看起来像:
*id, name, surname, year, course*
1, John, Johnson, 3, Economy
2, Lara, Croft, 2, Biology
3, Mark, Jones, 3, Economy
4, Jim, Smith, 1, IT
5, Sarah, Kennedy, 1, IT
6, Matt, Damon, 3, Economy
并希望将所有有学生参加的课程作为结果集,例如:
*course, count*
Economy, 3
IT, 2
Biology, 1
【问题讨论】:
-
你自己最好的镜头是什么?它返回什么?你认为它有什么问题?届时我们会介入提供帮助。
-
你好像知道用什么函数了;尝试将其放入查询中。
-
您的样本数据表明不需要
DISTINCT。 -
呃,我的尝试非常错误。从学生中选择课程,计数(DISTINCT(id));结果我得到了经济,6。
-
@Prpaa:当您使用
count时,这将导致整个结果的隐式组。选择任何没有聚合的数据都会得到组中的一个值,即使有不同的值,所以隐式分组只有在你只通过聚合获取数据时才有用。
标签: mysql sql postgresql sqlite