簡體   English   中英

使用 MySQL 中同一表的 COUNT 連接兩個查詢

[英]Join two queries with COUNT from the same table in MySQL

我在同一個表中運行了兩個查詢:

SELECT id, COUNT(up) 
FROM comentarios 
WHERE up = 1
GROUP BY id

SELECT id, COUNT(down) 
FROM comentarios 
WHERE down = 2
GROUP BY id

我嘗試過這樣的事情但不起作用

SELECT t1.id, COUNT(t1.up), t2.id, COUNT(t2.down)
FROM (SELECT id, up FROM comentarios WHERE up = 1 GROUP BY id) t1
JOIN (SELECT id, down FROM comentarios WHERE down = 2 GROUP BY id) t2

ON t1.id = t2.id

也許需要一個完整的外部連接?

在 MySQL 中執行此操作的最佳方法是什么?

select id, 
    sum(case when up = 1 then 1 end) as UpCount,
    sum(case when down = 2 then 1 end) as DownCount
from comentarios  
group by id 
SELECT id,
       SUM(CASE WHEN up = 1 THEN 1 ELSE 0 END) AS UpCount,
       SUM(CASE WHEN down = 2 THEN 1 ELSE 0 END) AS DownCount
    FROM comentarios
    GROUP BY id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM