У меня есть MySQL запрос, как это ....MYSQL COUNT и SUM каждый случай можно
"SELECT
SUM(CASE WHEN ticket_source='bpt' THEN tix_tickets.ticket_price END) AS bpt_money,
COUNT(CASE WHEN ticket_source='bpt' THEN 1 END) AS bpt_num,
SUM(CASE WHEN ticket_source='door' THEN tix_tickets.ticket_price END) AS door_money,
COUNT(CASE WHEN ticket_source='door' THEN 1 END) AS door_num,
SUM(CASE WHEN ticket_source='goldstar' THEN tix_tickets.ticket_price END) AS goldstar_money,
COUNT(CASE WHEN ticket_source='goldstar' THEN 1 END) AS goldstar_num,
COUNT(CASE WHEN ticket_price='0' THEN 1 END) AS free_tix,
COUNT(CASE WHEN ticket_price='10' THEN 1 END) AS ten_buck_tix,
COUNT(CASE WHEN ticket_price='20' THEN 1 END) AS twenty_buck_tix,
COUNT(CASE WHEN ticket_price='25' THEN 1 END) AS twentyfive_buck_tix
FROM tix_people,tix_tickets WHERE tix_people.ID=tix_tickets.holder_id GROUP BY ticket_date ORDER BY ticket_date"
И это прекрасно работает, но я хотел бы использовать каждый ticket_price
в таблице, не называя их по отдельности. Я хотел бы получить каждый ticket_source
, не называя их индивидуально. Я полагаю, что я могу сократить свой код и сделать его лучше, поскольку я расширяю количество источников и цен.
что все зависит от того, как вы хотите извлечь данные. если вы хотите вытащить его с помощью столбца, подсчитывающего количество ten_buck_tix, тогда вы должны записать его. –