2017-08-03 27 views
-2

你好,我是新来的使用SQL。我想了解有多少次的日期已经在表被修改为特定ID计数子字段变化

select distinct c.container_id, c.CONTAINER_CLOSED_DATE, c.GROSS_WEIGHT, 
pt.PACKAGE_TARE_WEIGHT, pt.PACKAGE_DESCR, count(wh.MODIFIED_DATE) as 
Tag_count, 
(c.GROSS_WEIGHT-pt.PACKAGE_TARE_WEIGHT)as True_weight,c.NET_WEIGHT 
from otp_waste_container wc, wts_container c, WTS_PACKAGE_TYPE_LU pt, 
WTS_CONTAINER_HISTORY wh 
where wc.container_id = c.container_id 
and c.CONTAINER_CLOSED_DATE = '24-MAY-17' 
and c.MANIFEST_ITEM_ID is not null 
and c.PACKAGE_TYPE_ID = pt.PACKAGE_TYPE_ID 
order by c.container_id; 

我想TAG_COUNT是计数为数字时代已经改变了。

感谢您的帮助。

回答

0

您必须添加GROUP BY条款:

select wh.CONTAINER_ID, count(wh.MODIFIED_DATE) as tag_modified 
From WTS_CONTAINER_HISTORY wh 
GROUP BY wh.CONTAINER_ID 
0

先验你需要一个group by

select wh.CONTAINER_ID, count(wh.MODIFIED_DATE) as tag_modified 
From WTS_CONTAINER_HISTORY wh 
group by wh.CONTAINER_ID; 

这等同于使用COUNT(*)。你可能真的想:

select wh.CONTAINER_ID, count(distinct wh.MODIFIED_DATE) as tag_modified 
From WTS_CONTAINER_HISTORY wh 
group by wh.CONTAINER_ID; 

或者,如果你只关心日期(但不是时间分量):

select wh.CONTAINER_ID, count(distinct trunc(wh.MODIFIED_DATE)) as tag_modified 
From WTS_CONTAINER_HISTORY wh 
group by wh.CONTAINER_ID; 
+0

您好!非常感谢您的帮助。我剩下一个问题。 选择不同c.container_id,c.CONTAINER_CLOSED_DATE, c.GROSS_WEIGHT,pt.PACKAGE_TARE_WEIGHT, pt.PACKAGE_DESCR,计数(wh.MODIFIED_DATE)作为TAG_COUNT, c.NET_WEIGHT, “在这里实现” 所以我想创造一个等于(c.NET_WEIGHT/Tag_count)的新列我怎么能去解决这个问题。因为它不喜欢以这种方式使用tag_count – turtlesallday

+0

@turtlesallday。 。 。新问题应该作为问题提出,而不是在评论中。 –