我想显示特定表(加类)中的所有数据条目,该表有 3 列(日期、数字和注释)。我想总结第 1、2、3 和 4 周的所有数字。
日期数量评论
2015年7月1日9
02-07-2015 0
2015年3月7日 10
2015年4月7日 8
27
2015-05-07 8
2015年6月7日 8
2015年7月7日 9
2015年8月7日 10
2015年9月7日 8
10-07-2015 0
11-07-2015 0
43
2015年7月12日8
2015年7月13日 8
2015年7月14日 9
2015年7月15日 10
2015年7月16日 8
17-07-2015 0
18-07-2015 0
43
下面是我的代码片段。请问,我在哪里合并您的 代码?
$query="SELECT name, timestamp, number, comment FROM table WHERE
name = '$valid_user' and timestamp between '$start_date' and '$end_date'";
$params = array($_REQUEST['query']);
$result = sqlsrv_query($conn, $query, $params);
echo "<p><table id='t01' border='1'>
<th style='width: 10px'>Date </th>
<th style='width: 5px'>Number</th>
<th style='width: 100px'>Comment</th>
</tr>";
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
echo "<tr>";
echo '<td><a href=#.php?id='.strip_tags($row['id']).'>' . date( 'd M Y', strtotime(strip_tags($row['timestamp']))). "</td>";
echo "<td>" . strip_tags($row['number']). "</td>";
echo "<td>" . strip_tags($row['comment']). "</td>";
echo '<td><a href="#.php?id=' . strip_tags($row['id']). '">Edit/Delete</a></td>';
echo "</tr>";
echo "</tr>"; }
非常感谢您的帮助。
提前致谢。
最佳答案
以下是可用于按周分组的模板:
DECLARE
@Year int = 2015,
@Month int = 7
DECLARE @StartDate DATE = dateadd(mm, (@Year - 1900) * 12 + @Month - 1, 0)
DECLARE @EndDate DATE = dateadd(mm, (@Year - 1900) * 12 + @Month, -1)
;WITH tally AS (
SELECT (row_number() OVER(ORDER BY (SELECT 0))) - 1 AS N
FROM master.dbo.syscolumns sc1)
SELECT
--d,
wknr
FROM
tally
CROSS APPLY(
SELECT
d = DATEADD(DAY, N, @StartDate),
wknr = DATEPART(wk, DATEADD(DAY, N, @StartDate))) dates
WHERE d < @EndDate
GROUP BY wknr
ORDER BY wknr
编辑
我建议您根据您的需要定制提供的查询模板。我在您的 PHP 代码中看到您需要字段名称、时间戳、数字、注释
,因此查询可能应该返回它们。
下一步是将旧查询替换为新查询。相应地传递日期参数。
我想你可以使用类似的东西:
;WITH tally AS (
SELECT (row_number() OVER(ORDER BY (SELECT 0))) - 1 AS N
FROM master.dbo.syscolumns sc1)
SELECT
wknr,
number = SUM(t.number)
FROM
tally
CROSS APPLY(
SELECT
d = DATEADD(DAY, N, @StartDate),
wknr = DATEPART(wk, DATEADD(DAY, N, @StartDate))) dates
JOIN table t
ON t.timestamp = d
WHERE d < @EndDate
GROUP BY wknr
ORDER BY wknr
关于javascript - 显示包含日期和其他记录的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31580530/