您的位置:首页 > 数据库 > MySQL

mysql求某个列的前10条记录的总和

2016-03-23 14:31 543 查看

mysql求某个列的前10条记录的总和

SELECT
ROUND(SUM(a.init_weight), 1) AS thisPageSum
FROM
(
SELECT
t.init_weight,
(
SELECT
sum(t1.weight)
FROM
TransportationDelivery t1
WHERE
t1.publish_id = t.publish_id
AND t. STATUS != '00'
AND t1. STATUS != '00'
AND t1.platform_id = t.platform_id
) AS trans_weight
FROM
GoodsOrderM AS t
WHERE
1 = 1
AND t. STATUS != '10'
AND t.platform_id = ?
AND if_can_show = 'Y'
AND (t.company_id = ?)
AND date_format(
create_date,
'%Y-%m-%d %H:%i'
) >= ?
AND date_format(
create_date,
'%Y-%m-%d %H:%i'
) <= ?
ORDER BY

IF (t.appoint_company_id = 0, 0, 1) DESC,

IF (
t.docu_type = '1' || t.docu_type = '2',

IF (
t.docu_pri_sec = '1',
t.publish_id,
t.pri_publish_id
),
t.publish_id
) DESC,

IF (
t.docu_type = '1' || t.docu_type = '2',
t.docu_pri_sec *- 1,
t.publish_id
) DESC,

IF (weight - trans_weight > 0, 1, 0) DESC
LIMIT ?,
?
) AS a
-- [TJ*YF**0004, 3, 2016-03-23 00:00, 2016-03-23 14:11:12, 0, 10]


求某列的总和

SELECT
ROUND(SUM(t.init_weight), 1) AS totalSum,
(
SELECT
sum(t1.weight)
FROM
TransportationDelivery t1
WHERE
t1.publish_id = t.publish_id
AND t. STATUS != '00'
AND t1. STATUS != '00'
AND t1.platform_id = t.platform_id
) AS trans_weight
FROM
GoodsOrderM AS t
WHERE
1 = 1
AND t. STATUS != '10'
AND t.platform_id = ?
AND if_can_show = 'Y'
AND (t.company_id = ?)
AND date_format(
create_date,
'%Y-%m-%d %H:%i'
) >= ?
AND date_format(
create_date,
'%Y-%m-%d %H:%i'
) <= ?
ORDER BY

IF (t.appoint_company_id = 0, 0, 1) DESC,

IF (
t.docu_type = '1' || t.docu_type = '2',

IF (
t.docu_pri_sec = '1',
t.publish_id,
t.pri_publish_id
),
t.publish_id
) DESC,

IF (
t.docu_type = '1' || t.docu_type = '2',
t.docu_pri_sec *- 1,
t.publish_id
) DESC,

IF (weight - trans_weight > 0, 1, 0) DESC

--  [TJ*YF**0004, 3, 2016-03-23 00:00, 2016-03-23 14:11:12]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: