SELECT
j.title,
(
SELECT
sum( realoil_price )
FROM
user
WHERE
confirm_date >= UNIX_TIMESTAMP( CAST( SYSDATE( ) AS DATE ) - INTERVAL 30 DAY )
AND confirm_date < now( )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) AS '近30天总加油额',
round((
SELECT
sum( realoil_price )
FROM
user
WHERE
confirm_date >= UNIX_TIMESTAMP( CAST( SYSDATE( ) AS DATE ) - INTERVAL 30 DAY )
AND confirm_date < now( )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
)/30,2) AS '平均每天加油额',
(
SELECT
count( id )
FROM
user
WHERE
confirm_date >= UNIX_TIMESTAMP( CAST( SYSDATE( ) AS DATE ) - INTERVAL 30 DAY )
AND confirm_date < now( )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) AS '30天总加油笔数',
round((
SELECT
count( id )
FROM
user
WHERE
confirm_date >= UNIX_TIMESTAMP( CAST( SYSDATE( ) AS DATE ) - INTERVAL 30 DAY )
AND confirm_date < now( )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) / 30,2) AS '平均每天加油笔数',
(
SELECT
sum( realoil_price )
FROM
user
WHERE
date_format( from_unixtime( confirm_date ), '%Y-%m-%d' ) = date_format( now( ), '%Y-%m-%d' )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) AS '今日加油额',
round((
SELECT
sum( realoil_price )
FROM
user
WHERE
date_format( from_unixtime( confirm_date ), '%Y-%m-%d' ) = date_format( now( ), '%Y-%m-%d' )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) - (
(
SELECT
sum( realoil_price )
FROM
user
WHERE
confirm_date >= UNIX_TIMESTAMP( CAST( SYSDATE( ) AS DATE ) - INTERVAL 30 DAY )
AND confirm_date < now( )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) / 30
),2) AS '今日-平均(加油额)',
(
SELECT
count( id )
FROM
user
WHERE
date_format( from_unixtime( confirm_date ), '%Y-%m-%d' ) = date_format( now( ), '%Y-%m-%d' )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) AS '今日加油笔数',
round((
(
SELECT
count( id )
FROM
user
WHERE
date_format( from_unixtime( confirm_date ), '%Y-%m-%d' ) = date_format( now( ), '%Y-%m-%d' )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) - (
SELECT
count( id )
FROM
user
WHERE
confirm_date >= UNIX_TIMESTAMP( CAST( SYSDATE( ) AS DATE ) - INTERVAL 30 DAY )
AND confirm_date < now( )
AND is_type = 3
AND order_state = 2
AND site_id = j.id
) / 30
),2) AS '今日-平均订单数'
FROM
zhan AS j
WHERE
j.id IN (
1001,
1002,
1004,
1006,
1010,
1086,
1095,
1118,
1122,
1123,
1140,
1160,
1169,
1177
)
ORDER BY j.id DESC
这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;
SELECT ROUND(100.3465,2),ROUND(100,2),ROUND(0.6,2),ROUND(114.6,-1);
结果分别:100.35,100,0.6,110