首页 > 解决方案 > 用特定条件表示 MYSQL 结果

问题描述

我需要帮助将我的查询结果表示为具有条件的特定报告 这是我 在此处输入图像描述 在获得结果后的查询结果,我需要将其表示为具有某些条件的报告,它会是这样的:

城市 A - 公司 A

在此处输入图像描述

城市 A - 公司 B

在此处输入图像描述

城市 A - 公司 C - 服务 A

在此处输入图像描述

我不知道该怎么做,因为我对 MySQL 很陌生。我想将查询放入 PHP 中。

提前致谢

标签: mysqlsqldatetime

解决方案


这应该可以解决问题。如果您的原始查询也来自 SQL,请将其放入临时表中,然后使用以下查询将为您提供 3 个答案。

SELECT
pickup_date
,SUM( CASE WHEN [site] = 'SiteA' THEN 1 ELSE 0 END) as [SiteA]  
,SUM(CASE WHEN [site] = 'SiteB' THEN 1 ELSE 0 END) as [SiteB]  
,SUM(CASE WHEN [site] = 'SiteB' THEN 1 ELSE 0 END) as [SiteC]  

FROM
tbl

WHERE
[city] = 'CityA'
AND
[company_name] = 'CompanyA'

GROUP BY
pickup_date


SELECT
pickup_date
,SUM( CASE WHEN [site] = 'SiteA' THEN 1 ELSE 0 END) as [SiteA]  
,SUM(CASE WHEN [site] = 'SiteB' THEN 1 ELSE 0 END) as [SiteB]  
,SUM(CASE WHEN [site] = 'SiteB' THEN 1 ELSE 0 END) as [SiteC]  

FROM
tbl

WHERE
[city] = 'CityA'
AND
[company_name] = 'CompanyB'

GROUP BY
pickup_date


SELECT
pickup_date
,SUM( CASE WHEN [site] = 'SiteA' THEN 1 ELSE 0 END) as [SiteA]  
,SUM(CASE WHEN [site] = 'SiteB' THEN 1 ELSE 0 END) as [SiteB]  
,SUM(CASE WHEN [site] = 'SiteB' THEN 1 ELSE 0 END) as [SiteC]  

FROM
tbl

WHERE
[city] = 'CityA'
AND
[company_name] = 'CompanyC'
AND
[service_name] = 'ServiceA'

GROUP BY
pickup_date

推荐阅读