我需要在几个时间间隔内得到同期的平均数
所以现在我的查询看起来很难看,是否有可能让它变得更好?例如,如果我想获得7周的数据,我需要复制/粘贴相同的7行,argh!
另外,我有一个关于如何丢弃极值的问题(0,10,15,11 - 从样本中删除0)。
import urllib2
response = urllib2.urlopen("http://'user1':'password'@server_name/file")
如果它很重要,我使用的是Oracle DB。
答案 0 :(得分:1)
也许尝试使用GROUP BY。
SELECT AVG(C) FROM (
SELECT SUM(1) AS C
,to_number(to_char(date,'WW')) as DT FROM a.b
GROUP BY to_number(to_char(date,'WW')))
答案 1 :(得分:0)
SELECT count(*) / 4
FROM a.b
WHERE id = 1
AND (DATE BETWEEN sysdate - 7 - (1 / 24 / 4) AND sysdate - 7
OR DATE BETWEEN sysdate - 14 - (1 / 24 / 4) AND sysdate - 14
OR DATE BETWEEN sysdate - 21 - (1 / 24 / 4) AND sysdate - 21
OR DATE BETWEEN sysdate - 28 - (1 / 24 / 4) AND sysdate - 28)
这是有效的,因为无论如何你总结了四个计数。
我担心我不理解你关于抛弃极端价值观的第二个问题。
答案 2 :(得分:0)
设置测试数据:
<?php
$conn=@mysqli_connect($_SESSION['servername'],$_SESSION['username'],
$_SESSION['password'], $_SESSION['database']) or die(mysql_error());
$verifExistence1 = "SELECT * FROM `annonces`;";
$result = mysqli_query($conn, $verifExistence1);
echo "<table border = 2>";
echo "<table align='center'> <thead>
<tr>
<th>Titre</th>
<th>Description</th>
<th>Image</th>
</tr>
</thead>
<tbody>";
while($row = @mysqli_fetch_assoc($result)){
$idbis=$row['id'];
$titrebis=$row['titre'];
echo "<tr>
<td>" . $row['titre'] . "</td><td>" . $row['description'] . "</td>
<td> <a href=\"DetailsAnnonces.php?id=$idbis\">$titrebis</a>
</tr>";
}
echo "</table>";
//echo $html_table;
?>
示例查询:
drop table b;
create table b(event_id number, event_date date);
begin
for i in 1 .. 100000
loop
insert into b values(floor(dbms_random.value(1,5)),sysdate - abs(dbms_random.normal)*20);
end loop;
commit;
end;
/