Mysql 用于按字段显示查询的sql
我编写了一个sql来获取数据库中每个用户的票证信息Mysql 用于按字段显示查询的sql,mysql,sql,Mysql,Sql,我编写了一个sql来获取数据库中每个用户的票证信息 select u.realname,count(t.id) as ct,t.Status from Tickets t,Users u where u.id=t.Owner and (t.status='New' or t.status='Stalled' or t.status='Open') group by u.realname,t.status; 它给出这样的输出 | Enoch Root | 1 | ne
select u.realname,count(t.id) as ct,t.Status
from Tickets t,Users u
where u.id=t.Owner and (t.status='New' or t.status='Stalled' or t.status='Open')
group by u.realname,t.status;
它给出这样的输出
| Enoch Root | 1 | new |
| Enoch Root | 1 | stalled |
| xyz Chan | 1 | open |
| Jim | 22 | stalled |
但我要找的是反对地位的用户
像
请让我知道
SELECT
u.realname,
SUM(t.status='Open') AS `Open`,
SUM(t.status='Stalled') AS `Stalled`,
SUM(t.status='New') AS `New`
FROM Tickets t INNER JOIN Users u
ON u.id=t.Owner
WHERE (t.status='New' OR t.status='Stalled' OR t.status='Open')
GROUP BY
u.id, u.realname
SELECT
u.realname,
SUM(t.status='Open') AS `Open`,
SUM(t.status='Stalled') AS `Stalled`,
SUM(t.status='New') AS `New`
FROM Tickets t INNER JOIN Users u
ON u.id=t.Owner
WHERE (t.status='New' OR t.status='Stalled' OR t.status='Open')
GROUP BY
u.id, u.realname
select u.realname,
sum( if( t.status = 'New', 1, 0 ) ) as new,
sum( if( t.status = 'Stalled', 1, 0 ) ) as stalled,
sum( if( t.status = 'Open', 1, 0 ) ) as open
from Tickets t, Users u
where
u.id = t.Owner and
t.status in ( 'New', 'Stalled', 'Open' )
group by u.realname