mysql查看我的查询输出我需要不同的方式
这是我的问题mysql查看我的查询输出我需要不同的方式,mysql,Mysql,这是我的问题 Select Count(Case When campaign_pid != 0 Then 1 End) As Email, Count(Case When sms_pid != 0 Then 1 End) As Sms, Count(Case When survey_pid != 0 Then 1 End) As Survey From tablename 请帮助我这是我的查询输出 Email Sms Survey 21 1
Select Count(Case When campaign_pid != 0 Then 1 End)
As Email, Count(Case When sms_pid != 0 Then 1 End)
As Sms, Count(Case When survey_pid != 0 Then 1 End)
As Survey From tablename
请帮助我这是我的查询输出
Email Sms Survey
21 1 4
我需要这样的输出
name value
Email 21
Sms 1
Survey 4
请告诉我如何获得上面的optput类似于以下内容的功能
SELECT 'Email' AS Name, Count(Case When campaign_pid != 0 Then 1 End) As Value From tablename
UNION SELECT 'SMS', Count(Case When sms_pid != 0 Then 1 End)s From tablename
UNION SELECT 'Survey', Count(Case When survey_pid != 0 Then 1 End) From tablename
或者更好
SELECT 'Email' AS Name, COUNT() AS Value FROM tablename WHERE campaign_pid <> 0
UNION SELECT 'SMS', COUNT() FROM tablename WHERE sms_pid <> 0
UNION SELECT 'Survey', COUNT() FROM tablename WHERE survey_pid <> 0
不是100%确定你的附加问题,也许这就是你想要的
SELECT COUNT(DISTINCT some_unique_col)
FROM table_name
WHERE campaign_pid <> 0
AND sms_pid <> 0
AND survey_pid <> 0
如果你能提供一些样本数据和预期结果,也许你想要的是总和而不是计数,这会有所帮助