在我的MySQL表Product
中,我想计算有多少Product_Id保存在Fav、Purchased或Delivered中,然后按Fav、Purchase、Delivery或相反的顺序将结果组织在空值或非空值的行中,如下所述。
使用此查询:
SELECT COUNT(IF(Fav IS NOT NULL, ID, NULL)) AS "Fav_Not-null", COUNT(IF(Fav IS NULL, ID, NULL)) AS "Fav_Null" ,
COUNT(IF(Purchase IS NOT NULL, ID, NULL)) AS "Purchase_Not-null", COUNT(IF(Purchase IS NULL, ID, NULL)) AS "Purchase_Null" ,
COUNT(IF(Delivery IS NOT NULL, ID, NULL)) AS "Delivery_Not-null", COUNT(IF(Delivery IS NULL, ID, NULL)) AS "Delivery_Null"
FROM Product
我有这样的结果:
# Fav_Not-null Fav_null Purchase_Not-null Purchase_null Delivery_Not-null Delivery_null
1 75 25 53 47 27 73
这是可以的,但我想以不同的方式显示结果,如:
Fav Purchase Delivery
Null 25 47 73
Not-null 75 53 27
或类似:
Null Not-null
Fav 25 75
Purchase 47 53
Delivery 73 27
谢谢你的帮助
2条答案
按热度按时间sbdsn5lh1#
我无法运行测试,因为我不知道您的数据库是如何构建的,但这可能会为您的第一个选项做工作:
第二个选项:
23c0lvtd2#
也许您可以将UNION与两个查询一起使用: