亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 GROUP_CONCAT MySQL 選擇中有條件分隔符

如何在 GROUP_CONCAT MySQL 選擇中有條件分隔符

PHP
汪汪一只貓 2022-06-17 17:23:43
我不知道這是否可以做到。在我的 MySQL 代碼中,我的選擇之一是:GROUP_CONCAT(timestamp SEPARATOR '~') AS times我想做的是測試時間戳在日期/小時/分鐘級別是否相等,以及是否用 a<br> 而不是波浪號替換 SEPARATOR。有沒有辦法在 MySQL 中做到這一點?如果不是,我將如何在 PHP 中進行操作?最終結果需要是兩個(或更多)時間戳組成一個字符串,它將在表格單元格中使用。如果日期/小時/分鐘相等,那么兩者都將在同一個單元格中。如果它有助于時間戳幾乎肯定會在表中是連續的。
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

您通常會使用兩個級別的聚合來做到這一點。首先按分鐘聚合并group_concat使用<br>分隔符,然后再次使用~分隔符聚合生成的字符串。


假設一個名為mytable時間戳列的表稱為mytimestamp,您將執行以下操作:


select group_concat(gc0 order by myminute separator '~') gc1

from (

    select 

        date_format(mytimestamp, '%Y-%m-%d %H:%i') myminute,

        group_concat(mytimestamp order by mytimestamp separator '<br>') gc0

    from mytable

    group by myminute

) t

DB Fiddle 上的演示:


樣本數據:


| 我的時間戳 |

| :------------------ |

| 2019-01-01 00:00:00 |

| 2019-01-01 00:00:01 |

| 2019-01-01 00:00:10 |

| 2019-01-01 00:01:00 |

| 2019-01-02 14:10:00 |

| 2019-01-02 14:10:30 |

查詢結果:


| gc1 |

| :------------------------------------------------------------------------------------------------------------------------------- |

| 2019-01-01 00:00:00<br>2019-01-01 00:00:01<br>2019-01-01 00:00:10~2019-01-01 00:01:00~2019- 01-02 14:10:00<br>2019-01-02 14:10:30 |



查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 229 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號