我有這樣的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來計算它,那麼你必須把它寫出來。 –