UD
Size: a a a
UD
k
n
n
SELECT SUM(count) FROM (SELECT COUNT(*) FROM (SELECT * FROM (SELECT td."TradeId" as "Id", t."MarketId" as "MarketId", t."OrderId" as "OrderId", t."UserId" as "UserId", t."Side" as "Side", td."Amount" as "Amount", $1 as "Fee", t."DateCreated" as "DateCreated", m."BaseCurrencyId" as "CurrencyId", $2::text as "Method", $3 as "OperationType" FROM "TradeDetail" td INNER JOIN "Trade" t ON td."TradeId" = t."Id" INNER JOIN "Market" m ON t."MarketId" = m."Id" ) a WHERE "UserId" IN ($4)) a UNION ALL SELECT COUNT(*) FROM (SELECT * FROM (SELECT td."TradeId" as "Id", t."MarketId" as "MarketId", td."OrderId" as "OrderId", td."UserId" as "UserId", ($5 ^ t."Side")::int as "Side", td."Amount" as "Amount", $6 as "Fee", t."DateCreated" as "DateCreated", m."BaseCurrencyId" as "CurrencyId", $7::text as "Method", $8 as "OperationType" FROM "TradeDetail" td INNER JOIN "Trade" t ON td."TradeId" = t."Id" INNER JOIN "Market" m ON t."MarketId" = m."Id" ) a WHERE "UserId" IN ($9)) b UNION ALL SELECT COUNT(*) FROM (SELECT * FROM (SELECT td."TradeId" as "Id", t."MarketId" as "MMarketId", td."OrderId" as "OrderId", td."UserId" as "UserId", t."Side" as "Side", td."Price" as "Amount", (td."Reward" - td."Fee") as "Fee", t."DateCreated" as "DateCreated", m."DerivedCurrencyId" as "CurrencyId", $10::text as "Method", $11 as "OperationType" FROM "TradeDetail" td INNER JOIN "Trade" t ON td."TradeId" = t."Id" INNER JOIN "Market" m ON t."MarketId" = m."Id" ) a WHERE "UserId" IN ($12)) c UNION ALL SELECT COUNT(*) FROM (SELECT * FROM (SELECT td."TradeId" as "Id", t."MarketId" as "MarketId", t."OrderId" as "OrderId", t."UserId" as "UserId", ($13 ^ t."Side")::int as "Side", td."Price" as "Amount", ((td."Amount" / t."Quantity") * (t."Reward" - t."Fee")) as "Fee", t."DateCreated" as "DateCreated", m."DerivedCurrencyId" as "CurrencyId", $14::text as "Method", $15 as "OperationType" FROM "TradeDetail" td INNER JOIN "Trade" t ON td."TradeId" = t."Id" INNER JOIN "Market" m ON t."MarketId" = m."Id" ) a WHERE "UserId" IN ($16)) d UNION ALL SELECT COUNT(*) FROM (SELECT * FROM (SELECT td."TradeId" as "Id", t."MarketId" as "MarketId", td."OrderId" as "OrderId", td."UserId" as "UserId", CASE WHEN td."Reward" > td."Fee" THEN $17 ELSE $18 END as "Side", ABS(td."Reward" - td."Fee") as "Amount", $19 as "Fee", t."DateCreated" as "DateCreated", m."DerivedCurrencyId" as "CurrencyId", $20 as "Method", $21 as "OperationType" FROM "TradeDetail" td INNER JOIN "Trade" t ON td."TradeId" = t."Id" INNER JOIN "Market" m ON t."MarketId" = m."Id" INNER JOIN "Currency" c ON m."DerivedCurrencyId" = c."Id" WHERE td."Reward" != td."Fee" ) a WHERE "UserId" IN ($22)) e UNION ALL SELECT COUNT(*) FROM (SELECT * FROM (SELECT td."TradeId" as "Id", t."MarketId" as "MarketId", t."OrderId" as "OrderId", t."UserId" as "UserId", CASE WHEN t."Reward" > t."Fee" THEN $23 ELSE $24 END as "Side", ABS((td."Amount" / t."Quantity") * (t."Reward" - t."Fee")) as "Amount", $25 as "Fee", t."DateCreated" as "DateCreated", m."DerivedCurrencyId" as "CurrencyId", $26 as "Method", $27 as "OperationType" FROM "TradeDetail" td INNER JOIN "Trade" t ON td."TradeId" = t."Id" INNER JOIN "Market" m ON t."MarketId" = m."Id" INNER JOIN "Currency" c ON m."DerivedCurrencyId" = c."Id" WHERE t."Reward" != t."Fee" ) a WHERE "UserId" IN ($28)) f) aдивитися какой запрос для пагинации
МК
SELECT
SUM(count)
FROM
(
SELECT
COUNT(*)
FROM
(
SELECT
*
FROM
(
SELECT
td."TradeId" as "Id",
t."MarketId" as "MarketId",
t."OrderId" as "OrderId",
t."UserId" as "UserId",
t."Side" as "Side",
td."Amount" as "Amount",
$1 as "Fee",
t."DateCreated" as "DateCreated",
m."BaseCurrencyId" as "CurrencyId",
$2 :: text as "Method",
$3 as "OperationType"
FROM
"TradeDetail" td
INNER JOIN "Trade" t ON td."TradeId" = t."Id"
INNER JOIN "Market" m ON t."MarketId" = m."Id"
) a
WHERE
"UserId" IN ($4)
) a
UNION ALL
SELECT
COUNT(*)
FROM
(
SELECT
*
FROM
(
SELECT
td."TradeId" as "Id",
t."MarketId" as "MarketId",
td."OrderId" as "OrderId",
td."UserId" as "UserId",
($5 ^ t."Side"):: int as "Side",
td."Amount" as "Amount",
$6 as "Fee",
t."DateCreated" as "DateCreated",
m."BaseCurrencyId" as "CurrencyId",
$7 :: text as "Method",
$8 as "OperationType"
FROM
"TradeDetail" td
INNER JOIN "Trade" t ON td."TradeId" = t."Id"
INNER JOIN "Market" m ON t."MarketId" = m."Id"
) a
WHERE
"UserId" IN ($9)
) b
UNION ALL
SELECT
COUNT(*)
FROM
(
SELECT
*
FROM
(
SELECT
td."TradeId" as "Id",
t."MarketId" as "MMarketId",
td."OrderId" as "OrderId",
td."UserId" as "UserId",
t."Side" as "Side",
td."Price" as "Amount",
(td."Reward" - td."Fee") as "Fee",
t."DateCreated" as "DateCreated",
m."DerivedCurrencyId" as "CurrencyId",
$10 :: text as "Method",
$11 as "OperationType"
FROM
"TradeDetail" td
INNER JOIN "Trade" t ON td."TradeId" = t."Id"
INNER JOIN "Market" m ON t."MarketId" = m."Id"
) a
WHERE
"UserId" IN ($12)
) c
UNION ALL
SELECT
COUNT(*)
FROM
(
SELECT
*
FROM
(
SELECT
td."TradeId" as "Id",
t."MarketId" as "MarketId",
t."OrderId" as "OrderId",
t."UserId" as "UserId",
($13 ^ t."Side"):: int as "Side",
td."Price" as "Amount",
(
(td."Amount" / t."Quantity") * (t."Reward" - t."Fee")
) as "Fee",
t."DateCreated" as "DateCreated",
m."DerivedCurrencyId" as "CurrencyId",
$14 :: text as "Method",
$15 as "OperationType"
FROM
"TradeDetail" td
INNER JOIN "Trade" t ON td."TradeId" = t."Id"
INNER JOIN "Market" m ON t."MarketId" = m."Id"
) a
WHERE
"UserId" IN ($16)
) d
UNION ALL
SELECT
COUNT(*)
FROM
(
SELECT
*
FROM
(
SELECT
td."TradeId" as "Id",
t."MarketId" as "MarketId",
td."OrderId" as "OrderId",
td."UserId" as "UserId",
CASE WHEN td."Reward" > td."Fee" THEN $17 ELSE $18 END as "Side",
ABS(td."Reward" - td."Fee") as "Amount",
$19 as "Fee",
t."DateCreated" as "DateCreated",
m."DerivedCurrencyId" as "CurrencyId",
$20 as "Method",
$21 as "OperationType"
FROM
МК
"TradeDetail" td
INNER JOIN "Trade" t ON td."TradeId" = t."Id"
INNER JOIN "Market" m ON t."MarketId" = m."Id"
INNER JOIN "Currency" c ON m."DerivedCurrencyId" = c."Id"
WHERE
td."Reward" != td."Fee"
) a
WHERE
"UserId" IN ($22)
) e
UNION ALL
SELECT
COUNT(*)
FROM
(
SELECT
*
FROM
(
SELECT
td."TradeId" as "Id",
t."MarketId" as "MarketId",
t."OrderId" as "OrderId",
t."UserId" as "UserId",
CASE WHEN t."Reward" > t."Fee" THEN $23 ELSE $24 END as "Side",
ABS(
(td."Amount" / t."Quantity") * (t."Reward" - t."Fee")
) as "Amount",
$25 as "Fee",
t."DateCreated" as "DateCreated",
m."DerivedCurrencyId" as "CurrencyId",
$26 as "Method",
$27 as "OperationType"
FROM
"TradeDetail" td
INNER JOIN "Trade" t ON td."TradeId" = t."Id"
INNER JOIN "Market" m ON t."MarketId" = m."Id"
INNER JOIN "Currency" c ON m."DerivedCurrencyId" = c."Id"
WHERE
t."Reward" != t."Fee"
) a
WHERE
"UserId" IN ($28)
) f
) a
n
n
SM
t
A
SM
UD
UD
A
t
UD
UD