簡體   English   中英

SELECT 來自 sql 2 cols in 1 table group by date

[英]SELECT from sql 2 cols in 1 table group by date

我的 select 語句使用 1 個表中的 2 個列並按日期對數據進行分組時遇到了一些問題。 我擁有的數據喜歡這個屏幕:

我的數據

我想要的結果是:

預期結果

有人可以幫忙嗎?

您可以進行條件聚合:

select 
    date_format(date, '%Y-%m-01') date_month,
    sum(`close` > `open`) uptime,
    sum(`close` < `open`) downtime,
    sum(`close` = `open`) equaltime
    stock_id
from mytable
group by date_month, stock_id

請注意,我添加了一個額外的查詢 do count days where close等於open

您可以使用right()從日期中提取您需要的月份

select
    right(date, 6) as month,
    sum(case when change > 0 then 1 else 0 end) as up_times,
    sum(case when change < 0 then 1 else 0 end) as down_times,
    stock_id
from yourTable
group by
    right(date, 6),
    stock_id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM