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_datetransaction_update_date存储日期。现在我的问题是我从 PHP 的表单中以 dd/mm/yyyy say(11/07/2013) 格式获取今天的日期。得到这个日期后,我只想找出今天(即 11/07/2013)的以下计数:

total count of all the transactions carried out,
total count of all the transactions having transaction_status as 'success',  
total count of all the transactions having transaction_status as 'inprocess',
total count of all the transactions having transaction_status as 'fail',
total count of all the transactions having transaction_status as 'cancelled'

两个日期也需要相同的输出(两个日期的范围,包括两个日期)。我是这个 UNIX 时间戳操作的新手。任何人都可以在这方面帮助我吗?提前致谢。

4

2 回答 2

2
SELECT  COUNT(*) `carried out`,
        SUM(transaction_status = 'success') `success`,
        SUM(transaction_status = 'inprocess') `inprocess`,
        SUM(transaction_status = 'fail') `fail`,
        SUM(transaction_status = 'cancelled') `cancelled`
FROM    tableName
-- WHERE  add your conditions here

并且由于您只想从今天的日期获取所有记录,因此假设transaction_date 您可以将 unix 日期转换为日期,例如

WHERE  FROM_UNIXTIME(transaction_date) >= CURDATE() AND
       FROM_UNIXTIME(transaction_date) < CURDATE() + INTERVAL 1 DAY
于 2013-07-11T07:21:17.273 回答
1

to filter out the today's transactions you can use WHERE date(now())==date(transaction_date) or just create 2 dates from one 11/07/2013 converted to pair

11/07/2013 00:00:00 - 11/07/2013 23:59:59
于 2013-07-11T07:22:32.210 回答