如果条件字段id重复,我试图总结一个字段,它只会被计为1,而app id等于1.
SELECT SUM(IF(PU.field_id IS DISTINCT AND PU.app_id =1,1,0)) as "With Reco" FROM tbl.PutUser.
我知道,这只是一块蛋糕。
答案 0 :(得分:1)
我们可以使用特定于MySQL的import time
input ("Hello, would you like to sleep?")
if input == "Yes":
time.sleep(0.5)
print("Sleeping.")
print("Sleeping..")
print("Sleeping...")
print("You have awoken!")
else:
print("Alright.")
函数
IF()
或等效的,符合ANSI标准的 SELECT COUNT(DISTINCT IF(pu.app_id=1,pu.field_id,NULL)) AS `With Reco`
FROM mytable pu
表达式
CASE
在我们想要测试的条件不满足时返回NULL,否则返回表达式( SELECT COUNT(DISTINCT CASE WHEN pu.app_id=1 THEN pu.field_id END)
),我们希望获得条件满足时的不同值的计数。然后我们可以将表达式包装在field_id
聚合中。
要进行测试,请删除COUNT(DISTINCT)聚合,并返回各行......
COUNT(DISTINCT )
这是我对你的要求的最好理解。
SELECT pu.app_id
, pu.field_id
, IF(pu.app_id=1,pu.field_id,NULL) AS foo
FROM mytable pu
ORDER BY ...
LIMIT 80
如果这不是您要求的,请考虑提供一些示例数据以及查询的预期输出。