[英]SQL Select only rows with Minimum Value on a Column with Where Condition
[英]SQL condition on only 1 column
我正在努力尋找如何僅在1列中放置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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.