我很难找到如何只在一列中放置where条件。
总而言之,我希望在数据库中拥有所有票证的列,并且具有给定日期的所有票证的另一列。
我的SQl请求:
SELECT
i.created AS creation, l.label AS activite,
COUNT(l.label) AS nbTicket, COUNT(l.label) AS nbEntree
FROM label AS l INNER JOIN
jiraissue AS i
ON (l.issue = i.id) AND i.issuetype <> 3
GROUP BY activite
所以在这里,我有来自数据库的所有票据,但如果我有日期的where条件:
SELECT l.label AS activite, SUM(i.timespent/3600/8) AS consomme, SUM(i.timeestimate/3600/8) AS raf, COUNT(l.label) AS nbTicket,
SUM(i.timeoriginalestimate/3600/8) AS chargeProvisoire, COUNT(l.label) AS nbEntree
FROM label AS l INNER JOIN jiraissue AS i ON (l.issue = i.id)
WHERE l.label IN ('Devis','TGC1','TGC2','TGC3','TGC4','TGC5','TGC5-Bis','TGC6','TGC7','TGC8','TGC8-Bis','TGC9','TGC10','TGC10-Bis','TGC12','TGC13','TGC13-Bis','TGC14','TGC50','TGC60')
AND i.issuetype <> 3 AND i.created LIKE "2014-01-%" GROUP BY activite
我只有2019年1月的票。
他们的解决方案是列==> nbTicket中的所有票证以及列中的'where'子句的所有票证==> nbEntree?
您可以在第一个查询中使用条件SUM()
,如下所示:
SELECT
max(i.created) AS creation,
l.label AS activite,
COUNT(*) AS nbTicket,
SUM(case when i.created LIKE "2019-01-%" then 1 end) AS nbEntree
FROM label AS l INNER JOIN
jiraissue AS i
ON (l.issue = i.id) AND i.issuetype <> 3
GROUP BY activite