0
我有一個名爲數據庫表user_transaction
,其結構如下:如何顯示以下場景的分組結果?
transaction_id mediumint(6) UNSIGNED (PK)
transaction_no varchar(55)
transaction_cc_avenue_no varchar(55)
transaction_card_category varchar(100)
transaction_user_id varchar(32)
transaction_user_name varchar(255)
transaction_user_email_id varchar(255)
transaction_deal_code varchar(10)
transaction_dc_id smallint(4)
transaction_amount float(10,2)
transaction_discount float(10,2)
transaction_total_amount float(10,2)
transaction_data_assign enum('0', '1')
transaction_status enum('success', 'inprocess', 'fail', 'cancelled')
transaction_date bigint(12)
transaction_update_date bigint(12)
transaction_update_user_id varchar(32)
我使用UNIX時間戳值的日期存儲在列transaction_date
。現在我從'dd/mm/yyyy
'格式獲取兩個日期,將其轉換爲UNIX時間戳並在以下查詢中使用它。現在我想顯示日期編號。不同transaction_status的交易(即每個日期發生的總交易,狀態'success','inprocess','fail'和'取消')的交易總數。這些記錄應按交易日期進行分組。爲了得到這個結果,我嘗試了很多,但沒有取得任何成功。爲您的參考我給我的查詢下面:
SELECT COUNT(*) `total count`, SUM(transaction_status = 'success') `success`, SUM(transaction_status = 'inprocess') `inprocess`, SUM(transaction_status = 'fail') `fail`, SUM(transaction_status = 'cancelled') `cancelled` FROM user_transaction WHERE transaction_date >= '1325376000' AND transaction_date <= '1338422400' GROUP BY FROM_UNIXTIME(transaction_date)
任何人都可以在這方面幫助我嗎?提前致謝。
:非常感謝你再次。您的查詢確實對我有幫助。你能幫我多一點嗎?在上面的查詢中,rsults以日期顯示。現在我想在每個月顯示相同的結果,我應該如何實現它?手段例如我想要顯示從2012年1月到2013年6月的月結果 – PHPLover
@phpLover。 。 。您可以在日期或函數'date_format()'上使用函數'year()'和'month()'。請確保你在'group by'中輸入了與'select'相同的調用。 –
:感謝您的建議。我試過你的伎倆,但它沒有奏效。可能是我做錯了什麼。你能否提供給我這個問題的答案?我會很感激你。 – PHPLover