 |
สอบถามปัญหา วิธีคิวรี่ข้อมูลที่ได้ก่อน between เพื่อนำมาเป็นยอดยกมา |
|
 |
|
|
 |
 |
|
Code (SQL)
select data,date from test
where date between '01/01/2015' and '03/01/2015'
|
 |
 |
 |
 |
Date :
2015-01-29 13:18:41 |
By :
yamcrocodile |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วถ้าเราไม่รู้ว่าวันก่อนหน้านั้นเป็นวันอะไร จะทำยังไงครับ
|
 |
 |
 |
 |
Date :
2015-01-29 13:29:26 |
By :
iiop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<?php
$date = date("Y-m-d");
echo date("Y-m-d", strtotime("-1 day", strtotime($date)));
?>
|
 |
 |
 |
 |
Date :
2015-01-29 15:08:47 |
By :
yamcrocodile |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้ union all
Code (SQL)
select sum(data) as data, max(date) as date from test where date < '02/01/2015'
union all
select data,date from test
where date between '02/01/2015' and '03/01/2015'
|
 |
 |
 |
 |
Date :
2015-01-29 17:23:03 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
DECLARE @A TABLE (ID int)
INSERT INTO @A VALUES (1), (2), (3), (4), (5)
/*A. */
SELECT a.*, p.*, (SELECT SUM(ID) FROM @A x WHERE x.ID < a.ID) AS x
FROM @A a
CROSS APPLY
(
SELECT TOP 1 ID AS y FROM @A p
WHERE p.ID < a.ID ORDER BY ID DESC
) p
/*B. */
SELECT a.*, p.*, (SELECT SUM(ID) FROM @A x WHERE x.ID < a.ID) AS x
FROM @A a
OUTER APPLY
(
SELECT TOP 1 ID AS y FROM @A p
WHERE p.ID < a.ID ORDER BY ID DESC
) p
|
 |
 |
 |
 |
Date :
2015-01-29 20:06:30 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|