我有这样的表1:
number p uc_id date
3 1 g 24/09/2015
4 0 g 24/09/2015
5 1 g 24/09/2015
5 1 f 25/09/2015
3 0 f 25/09/2015
5 1 g 26/09/2015
和表2相似:
id name
g Magic
f Blue
我希望该sql查询返回类似
name min max
Magic 1 2
Blue 1 1
我的查询我做了类似日期的事,但是我无法检索最小和最大
Select
p.date,
uc.name,
min((Select
uc.name,
count(p.p)
from table1 p, table2 uc
where p.p = 1 and uc.id = p.uc_id
group by uc.name, p.date)) as 'Min',
max((Select uc.name,
count(p.p)
from table1 p, table2 uc
where p.p=1 and uc.id = p.uc_id
group by uc.name, p.date)) as 'Max'
From table1 p, table2 uc
Where uc.id = p.uc_id
group by uc.name
我想对p = 1的列p进行计数,并按日期对它们进行分组,对于每个日期,我想检索之前完成的计数的最小值和最大值。在另一个表中也显示名称。
最佳答案
SQL FIDDLE DEMO
创建一个总日期名称为日期的子查询。
SELECT name, min(nCount) cMin, max(nCount) cMax
FROM (Select
uc.name,
p.date,
count(p) as nCount
From table1 p, table2 uc
Where uc.id = p.uc_id
and p = 1
group by uc.name, p.date) nameCount
GROUP BY name
关于mysql - 从字段中计算最小和最大,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32444168/