我有这个功能
SELECT LEFT( eventName, INSTR( CONCAT( eventName, ':' ) , ':' ) ) AS prefix, COUNT( * )
FROM trackingevent
GROUP BY LEFT( eventName, INSTR( CONCAT( eventName, ':' ) , ':' ) )
UNION SELECT homeupload, COUNT( * )
FROM link
GROUP BY homeupload
UNION
SELECT mediaType, COUNT( * )
FROM link
GROUP BY mediaType
UNION
SELECT emailSub, COUNT(*) FROM link WHERE emailSub='1' GROUP BY emailSub
并生成类似
的内容prefix COUNT(*)
CONTEST_ENTRY: 4
EMAIL_SHARE 77
FLICKR_SHARE 9
SHARE_FACEBOOK 105
SHARE_STATION_LOGIN 223
TWEET_SHARE 18
0 320
1 1
image 320
video 1
1 195
我想将0,1和其他1重命名为其他内容。也许是homeupload,现场或其他什么。
第一个0和1是UNION SELECT homeupload,COUNT(*) 来自链接 GROUP BY homeupload
因为有两个值
第二个是UNION SELECT emailSub,COUNT(*)FROM link WHERE emailSub =' 1' GROUP BY emailSub
如何重命名结果?
答案 0 :(得分:2)
简而言之,使用IF
...
UNION
SELECT IF(homeupload = 0,
"someStringDescribingStatus0",
"someStringDescribingStatus1") as homeUploadStatus,
count(*)
FROM ...