krasus
یک شنبه 10 خرداد 1394, 16:04 عصر
سلام
من تازه دارم با over clause آشنا می شم.
توی یه سایت دیدم آموزش میده.
شروع کردم به خوندن و دیدم چیز خیلی جالبیه
اولین کاری که کردم شروع کردم کد هایی که برای مثال قرار داده بود رو کپی کردم توی sql تا بالا پایینش کنم و با آرگومان هاش بیشتر آشنا بشم
DECLARE @Test TABLE
(
RowID INT IDENTITY,
FName VARCHAR(20),
Salary SMALLINT
);
INSERT INTO @Test (FName, Salary)
VALUES ('George', 800),
('Sam', 950),
('Diane', 1100),
('Nicholas', 1250),
('Samuel', 1250),
('Patricia', 1300),
('Brian', 3000),
('Thomas', 1600),
('Fran', 2450),
('Debbie', 2850),
('Mark', 2975),
('James', 3000),
('Cynthia', 3000),
('Christopher', 5000);
SELECT RowID,FName,Salary,
SumByRows = SUM(Salary) OVER (ORDER BY Salary ROWS UNBOUNDED PRECEDING),
SumByRange = SUM(Salary) OVER (ORDER BY Salary RANGE UNBOUNDED PRECEDING)
FROM @Test
ORDER BY RowID;
ولی دیدم کوری ران نمیشه و ارور میده
Msg 102, Level 15, State 1, Line 24
Incorrect syntax near 'ROWS'.
گفتم شاید مشکل از مثال سایت هست
یه مثال دیگه توی خود سایت msdn بود اون رو هم کپی کردم بازم کار نکرد
مشکل از sql من نیست؟:گیج:
من تازه دارم با over clause آشنا می شم.
توی یه سایت دیدم آموزش میده.
شروع کردم به خوندن و دیدم چیز خیلی جالبیه
اولین کاری که کردم شروع کردم کد هایی که برای مثال قرار داده بود رو کپی کردم توی sql تا بالا پایینش کنم و با آرگومان هاش بیشتر آشنا بشم
DECLARE @Test TABLE
(
RowID INT IDENTITY,
FName VARCHAR(20),
Salary SMALLINT
);
INSERT INTO @Test (FName, Salary)
VALUES ('George', 800),
('Sam', 950),
('Diane', 1100),
('Nicholas', 1250),
('Samuel', 1250),
('Patricia', 1300),
('Brian', 3000),
('Thomas', 1600),
('Fran', 2450),
('Debbie', 2850),
('Mark', 2975),
('James', 3000),
('Cynthia', 3000),
('Christopher', 5000);
SELECT RowID,FName,Salary,
SumByRows = SUM(Salary) OVER (ORDER BY Salary ROWS UNBOUNDED PRECEDING),
SumByRange = SUM(Salary) OVER (ORDER BY Salary RANGE UNBOUNDED PRECEDING)
FROM @Test
ORDER BY RowID;
ولی دیدم کوری ران نمیشه و ارور میده
Msg 102, Level 15, State 1, Line 24
Incorrect syntax near 'ROWS'.
گفتم شاید مشکل از مثال سایت هست
یه مثال دیگه توی خود سایت msdn بود اون رو هم کپی کردم بازم کار نکرد
مشکل از sql من نیست؟:گیج: