如何避免在以下查询中重复结果?
示例表结构:
ord_order_number | ord_date | ord_status | ord_from
----------------------------------------------------
1 | 2017-01-01 | 2 | Admin Side
2 | 2017-02-02 | 3 | Client Side
从5个月(当月,5月)开始的所有月份都会有订单
以下是查询:
SELECT t1.*, t2.*
from
(select count(ord_order_number) as admin, ord_date
FROM `order_summary`
where ord_date > '2017-01-01 00:00:00'
and ord_from = 'Admin Side'
group by month(ord_date)
) t1,
(select count(ord_order_number) as client, ord_date
FROM `order_summary`
where ord_date > '2017-01-01 00:00:00'
and ord_from = 'Client Side'
group by month(ord_date)
)t2
这将产生25个4列圆柱。
T1别名将生成从2017-01到2017年结束的每个月的计数。然后每行将从2017-01等开始重复......
而t2别名将每月重复5次。
我希望每个月只出现一次。
当前查询的示例结果:
(correct)admin | ord_date | client | ord_date (this column repeats each date 5 times)
--------------------------------------------
22 | 2017-01-01 | 77 | 2017-01-01
32 | 2017-02-01 | 77 | 2017-01-01
43 | 2017-03-01 | 77 | 2017-01-01
这是预期结果的一个例子
admin | ord_date | client | ord_date
--------------------------------------------
22 | 2017-01-01 | 77 | 2017-01-01
32 | 2017-02-01 | 21 | 2017-02-01
43 | 2017-03-01 | 100 | 2017-03-01
答案 0 :(得分:2)
使用CASE在select中移动条件。您可以在select中再次添加ord_date但对我来说看起来很奇怪。
<label *ngFor="let item of items">
<input type="radio" formControlName="options" [value]="item">
{{item}}
</label>`