我想以下列方式顯示捐贈數據,其中所有捐款總額將顯示在每個捐贈者下方。對於捐款的Mysql查詢給出了精確的總和,但不顯示所有事件
Johnny Cruz
Charity: Event 001 | Amount: US$ 100
Charity: Event 002 | Amount: US$ 30
Charity: Event 003 | Amount: US$ 90
Total : US$ 220
Mike Polo
Charity: Event 002 | Amount: US$ 200
Charity: Event 004 | Amount: US$ 125
Total : US$ 325
Donald Thomas
Charity: Event 005 | Amount: US$ 75
Total : US$ 75
Thomas Stain
Charity: Event 002 | Amount: US$ 125
Charity: Event 003 | Amount: US$ 85
Total : US$ 210
這是我目前正在使用的查詢。
SELECT *, SUM(amount) AS total_donation_per_donator FROM tr_donation WHERE ngopkid=1 GROUP BY donator ORDER BY donator ASC, event ASC
上面的查詢給我的結果,我在下面提到。它爲每個捐贈者提供正確的捐贈總額,但只顯示一個事件。在查詢中需要做什麼更改才能獲得像上面提到的樣例結果?請幫忙。
Johnny Cruz
Charity: Event 001 | Amount: US$ 100
Total : US$ 220
Mike Polo
Charity: Event 002 | Amount: US$ 200
Total : US$ 325
Donald Thomas
Charity: Event 005 | Amount: US$ 75
Total : US$ 75
Thomas Stain
Charity: Event 002 | Amount: US$ 125
Total : US$ 210
這是表結構。
CREATE TABLE IF NOT EXISTS `tr_donation` (
`pkid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`ngopkid` bigint(20) unsigned NOT NULL DEFAULT '0',
`donator` varchar(100) NOT NULL DEFAULT '',
`eventpkid` bigint(20) unsigned NOT NULL DEFAULT '0',
`event` varchar(100) NOT NULL DEFAULT '',
`amount` float unsigned NOT NULL DEFAULT '0',
`postdate` datetime DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`pkid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
---編輯---
如果我使用下面的查詢,它在以下方式給予的結果。
SELECT *, SUM(amount) AS total_donation_per_donator FROM tr_donation WHERE ngopkid=1 GROUP BY donator, event ORDER BY donator ASC, event ASC
Johnny Cruz
Charity: Event 001 | Amount: US$ 100
Total : US$ 100
Charity: Event 002 | Amount: US$ 30
Total : US$ 30
Charity: Event 003 | Amount: US$ 90
Total : US$ 90
Mike Polo
Charity: Event 002 | Amount: US$ 200
Total : US$ 200
Charity: Event 004 | Amount: US$ 125
Total : US$ 125
Donald Thomas
Charity: Event 005 | Amount: US$ 75
Total : US$ 75
Thomas Stain
Charity: Event 002 | Amount: US$ 125
Total : US$ 125
Charity: Event 003 | Amount: US$ 85
Total : US$ 85
GROUP BY捐贈者,事件(但你必須要總結您的行可以獲得總金額:SUM(金額)AS total_donation_per_donator_event) – hellcode 2014-11-05 09:41:17
它顯示所有事件,但也會爲每個事件拆分和。我正在編輯我的答案,以向我展示您的結果,如果我GROUP BY捐助者,事件 – 2014-11-05 09:46:10
但您可以在PHP腳本中添加。 – hellcode 2014-11-05 09:48:23