gpt4 book ai didi

sql - MySQL - 为唯一列分组 dayname()

转载 作者:行者123 更新时间:2023-11-30 23:41:59 25 4
gpt4 key购买 nike

我有一个从多个表中获取数据的存储过程。存储过程从 PHP 脚本调用,结果数据放置在网格中。

我遇到的问题是我不确定如何让日名称唯一,这样最多有七列,一周中的每一天,而不是像“星期二”这样的结果'星期二1'

这是一个片段

    select concat(
'select tbl_kiosks.name "DCI ERP",tbl_retailers.abbr "Retailer",
tbl_retaillocations.storeNumber "Store",
tbl_retaillocations.city "City",
tbl_retaillocations.state "State"'
, group_concat(
concat(',sum(if(ks.StartDate="',ks3.StartDate,'", numOfSessions, null)) "', dayname(DATE_FORMAT(ks3.StartDate,'%Y-%m-%d')) ,'" '
)
separator ' '
)

最佳答案

在您的 group_concat 中的某处,您必须 select distinct dayname(...) 而不是 select dayname(...)。那将只为您提供每天的一列。

或者您可以考虑分组依据:

select 
tbl_kiosks.name "DCI ERP"
, tbl_retailers.abbr "Retailer"
, tbl_retaillocations.storeNumber "Store"
, tbl_retaillocations.city "City"
, tbl_retaillocations.state "State"
, dayname(ks3.StartDate) "Weekday"
, sum(case when dayname(ks3.StartDate) = 'Monday'
then numOfSessions else 0 end) as Monday
, sum(case when dayname(ks3.StartDate) = 'Tuesday'
then numOfSessions else 0 end) as Tuesday
, ....
from <your join list here>
group by "DCI ERP", Retailer, Store, City, State, dayname(ks3.StartDate)

关于sql - MySQL - 为唯一列分组 dayname(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com