Рассмотрим эти данные:
userid a.birthday b.birthday c.birthday
12 2017-01-01 2017-01-01 NULL
13 2016-01-12 2016-01-12 2016-01-12
14 NULL 2017-04-05 NULL
У меня есть следующий запрос:
select COALESCE(a.birthday,b.birthday,c.birthday) as birthday
from ....
Это дает мне дату рождения, основываясь на источнике, сначала я беру его из a
, еслисуществует еще от b
еще от c
.... Результат запроса:
birthday
-------
2017-01-01 #from a.birthday
2016-01-12 #from a.birthday
2017-04-05 #from b.birthday
count(3)
Что я хочу знать, так это знать, что является источником дня рождениядата, которая была выбрана для этого запроса.
Итак, что я на самом деле хочу увидеть:
a b c
-------
2 1 0
Обратите внимание, что это невозможно сделать простым подсчетом таблиц.
Хотя у userid=12
день рождения указан как a
, так и b
в моем запросе, я беру его из значения, поэтому при подсчете я хочу считать его как a
, а не как b
.
Как я могу сделать такой подсчет записей в MySQL?