我想把我的交易利潤制作成漂亮的表格視圖(在grafana中),我把我的交易按日期分組。
SELECT
close_date AS "Date",
(SELECT COUNT(*) FROM trades WHERE close_profit > 0 AND c2. close_date = close_date) AS Wins,
(SELECT COUNT(*) FROM trades WHERE close_profit < 0 AND c2. close_date = close_date) AS 損失。
(SELECT AVG(close_profit * 100) FROM trades WHERE c2.close_date = close_date) AS "avg",
(SELECT SUM(close_profit_abs) FROM trades WHERE c2. close_date = close_date) AS "Profit"
FROM trades c2 WHERE close_date IS NOT NULL GROUP BY close_date
這將創建一個交易串列,但它不會按日期對交易進行分組,因為原始的 "close_date "是以 "2021-09-20 11:11:12.954078 0000 UTC "的形式存在。
我如何格式化close_date,使其只有日期(2021-09-20),并在連接查詢中使用它? 我試過這樣做:
SELECT。
date(close_date) as "Date",
.....
這樣就把close_date改成了我想要的日期,但是分組就不作業了。
我試著把每個close_date都改成date(close_date),但是整個語法都斷了。
SELECT。
date(close_date) as "Date",
(SELECT COUNT(*) FROM trades WHERE close_profit > 0 AND c2. date(close_date) = date(close_date)) AS 贏了。
(SELECT COUNT(*) FROM trades WHERE close_profit < 0 AND c2. date(close_date) = date(close_date)) AS 損失。
(SELECT AVG(close_profit * 100) FROM trades WHERE c2.date(close_date) = date(close_date)) AS "Avg",
(SELECT SUM(close_profit_abs) FROM trades WHERE c2. date(close_date) = date(close_date)) AS "利潤"
FROM trades c2 WHERE date(close_date) IS NOT NULL GROUP BY date(close_date)
問題是 :
c2.date(close_date)
我如何在這里格式化日期時間?
c2.close_date (2021-09-20 11:11:12.954078 0000 UTC) -> c2.date(close_date) (2021-09-20) ?
謝謝你的幫助。我不是任何方式的sql專家,所以我的術語可能是 "有點偏"。
uj5u.com熱心網友回復:
你可以使用CAST() & CONVERT()函式轉換你的日期
閱讀更多關于這個函式的資訊 CONVERT() & CAST()
SELECT CONVERT(varchar(10)。 '2021-09-20 11: 11:12. 954078 0000 UTC',105) AS [Date]
uj5u.com熱心網友回復:
請參考此代碼
SELECT
CONVERT(varchar(10),close_date,105) AS "Date",
(SELECT COUNT(*) FROM trades WHERE close_profit > 0 AND CONVERT(varchar(10),c2。 close_date,105) = CONVERT(varchar(10),close_date,105) AS 贏了。
(SELECT COUNT(*) FROM trades WHERE close_profit < 0 AND CONVERT(varchar(10),c2。 close_date,105) = CONVERT(varchar(10),close_date,105) AS 損失。
(SELECT AVG(close_profit * 100) FROM trades WHERE CONVERT(varchar(10),c2. close_date,105) = CONVERT(varchar(10),close_date,105)) AS "平均"。
(SELECT SUM(close_profit_abs) FROM trades WHERE CONVERT(varchar(10)。 c2. close_date,105) = CONVERT(varchar(10), close_date,105) AS "利潤"
FROM trades c2
WHERE CONVERT(varchar(10),close_date,105)。IS NOTNULL
GROUP BY CONVERT(varchar(10)。 close_date,105)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/333059.html
標籤:
