我有两个表,加入它们后我想找到不同的行数。我的表是:




我想选择用户名,然后选择(I)用户拥有的图书数量(通过忽略状态)和(II)用户拥有状态1的图书数量。例如,所有这些都可以从中选择,其名字中带有“ Doe”的用户。可能吗?如何获得这些结果?

http://sqlfiddle.com/#!2/102ce8/3

样本结果:

(名称,总计数,特定计数)
约翰·多伊(3,1)
珍·杜2、1

最佳答案

SELECT tu.name,
       Count(ts.id),
       Sum(CASE
             WHEN status = 1 THEN 1
             ELSE 0
           END)
FROM   tblUsers tu
       INNER JOIN tblStatus ts
         ON ts.id = tu.id
WHERE  tu.name LIKE '%doe%'
GROUP  BY tu.id

关于mysql - 在MySQL查询中使用不同的where语句选择多个计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27824789/

10-15 21:09