2015-09-15 3 views
0

с использованием count() и group by Я могу сгенерировать count, принадлежащих к этой группе.количество групп в столбце

пример:

DB

student_number   sem    SY 
    2015-0002   2nd sem   2014-2015 
    2015-0002   2nd sem   2014-2015 
    2015-0002   2nd sem   2014-2015 
    2015-0002   1st sem   2015-2016 
    2015-0002   1st sem   2015-2016 
    2015-0002   1st sem   2015-2016 
    2015-0002   2nd sem   2015-2016 
    2015-0002   2nd sem   2015-2016 
    2015-0002   2nd sem   2015-2016 
    2015-0002   2nd sem   2015-2016 

запрос

$sql = "SELECT *, count(SY) as student_count "; 
    $sql .= "FROM studeaccount "; 
    $sql .= "WHERE StudentNumber = '2015-0002' "; 
    $sql .= "GROUP BY SY, Sem "; 
    $sql .= "ORDER BY StudentNumber ASC"; 

выше запрос выхода, как это:

2nd sem : 2014-2015 = 3 
1st sem : 2015-2016 = 3 
2nd sem : 2015-2016 = 4 

: Результат bove показать номер группы и то, что я хочу получить, общее количество групп. пример ниже, который я хочу вывести.

Group count = 3 // this is what i want to achieve. 

надеюсь, что эта помощь.

+0

, что вы можете достичь с помощью PHP !! –

+0

Не могли бы вы предоставить некоторые примеры данных и ожидаемый результат? –

+1

Я думаю, что вы можете добиться этого, используя подвыбор, первую группу столбца 'SY' и послесловие посчитайте их в outter' SELECT' – Sergej

ответ

1
SELECT COUNT(*) FROM 
(
    SELECT *, count(SY) as student_count 
    FROM studeaccount 
    WHERE StudentNumber = '2015-0002' 
    GROUP BY SY, Sem 
    ORDER BY StudentNumber ASC 
) t1 
0

попробовать это

$sql = "select count(distinct sem) from student_account"; 
Смежные вопросы