如果我执行此查询,我会得到以下结果
SELECT Month_Name,
Count(SalesID) AS Toal
FROM Sales
Group by Month_Name
我有以下结果
Month_Name Toal
Apr-15 341
May-15 314
Jun-15 342
Jul-15 327
Aug-15 179
Sep-15 234
Oct-15 286
Nov-15 171
问题:上个月我有2月15日和3月15日的数据,但他们不在桌面上。我被告知不要用数字更新表格 我被给了2月15日和3月15日。数字如下
Feb-15 = 349
Mar-15 = 312
有没有办法可以通过在查询中对其进行硬编码来编写查询来反映这两个月,以便结果看起来像下表
Month_Name Toal
Feb-15 349
Mar-15 312
Apr-15 341
May-15 314
Jun-15 342
Jul-15 327
Aug-15 179
Sep-15 234
Oct-15 286
Nov-15 171
答案 0 :(得分:1)
(
SELECT
Month_Name,
Count(SalesID) AS Toal
FROM
Sales
Group by
Month_Name
)
UNION ALL
(
SELECT
'Feb-15' AS Month_Name,
349 AS Total
)
UNION ALL
(
SELECT
'Mar-15' AS Month_Name,
312 AS Total
)
答案 1 :(得分:1)
您将使用UNION ALL添加两个记录。为了生成这样的记录,你只需在没有表或DUAL的情况下选择它们 - 两者中的哪一个取决于你正在使用的DBMS。
由于您当然希望记录按月排序,因此表中必须有一个排序键才能实现此目的。在下面的查询中,我假设它是一个名为sortkey的正数值,并且是两个月后的第一个。根据您的需要进行调整。
select month_name, total
from
(
select month_name, count(*) as total, sortkey from sales group by month_name
union all
select 'Feb-15', 349, -2 -- here you may have to add FROM DUAL
union all
select 'Mar-15', 312, -1 -- here too
) all_months
order by sortkey;