|
发表于 19-9-2006 10:00 AM
|
显示全部楼层
回复 #40 max5007 的帖子
是的,被发放到D2和D4这两个边疆 |
|
|
|
|
|
|
|
发表于 19-9-2006 10:31 AM
|
显示全部楼层
原帖由 神仙祖宗 于 19-9-2006 10:00 AM 发表
是的,被发放到D2和D4这两个边疆
那个 15 根据什么定义来 break 的?
因为这样我们根本不知道怎么样拆散的 |
|
|
|
|
|
|
|
发表于 19-9-2006 10:36 AM
|
显示全部楼层
回复 #42 max5007 的帖子
FIFO模式
D2 数量只有10个,但回来的有15个,所以将15个分出10个放在D2,剩下5个就留给下一位,就是D4,以此类推 |
|
|
|
|
|
|
|
发表于 19-9-2006 05:08 PM
|
显示全部楼层
我觉得这个需要用到program来做,
它没有一定的规律,而且需要起算,
query的用法多数是拿出data而不是去计算。 |
|
|
|
|
|
|
|
发表于 19-9-2006 05:36 PM
|
显示全部楼层
原帖由 神仙祖宗 于 19-9-2006 10:36 AM 发表
FIFO模式
D2 数量只有10个,但回来的有15个,所以将15个分出10个放在D2,剩下5个就留给下一位,就是D4,以此类推
这用一个SQL statement可以做到吗? |
|
|
|
|
|
|
|
发表于 19-9-2006 06:19 PM
|
显示全部楼层
嗯,我还是SQL菜鸟,这么复杂我还不会。。。不过。。。
我猜,他是要用store procedure来做吧? |
|
|
|
|
|
|
|
发表于 20-9-2006 09:51 AM
|
显示全部楼层
原帖由 max5007 于 19-9-2006 05:36 PM 发表
这用一个SQL statement可以做到吗?
以我有限的知识。。。做不到,不过希望能集思广益 |
|
|
|
|
|
|
|
发表于 20-9-2006 06:03 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 21-9-2006 09:43 AM
|
显示全部楼层
用普通的 sql 应该不行, 但可以尝试 stored procedure. |
|
|
|
|
|
|
|
发表于 24-9-2006 03:57 AM
|
显示全部楼层
请问goatstudio大大
1. sql statement 有长度的限制吗?
2. 如果有一个sql statement如下
SELECT A.Student FROM tblA AS A WHERE
A.ID IN ('FBF54771-2497-4B99-BCA7-6C749C524229'
,'FBF54771-2497-4B99-BCA7-6DEF11124229'
,'FBF54771-2497-4B99-BCA7-6C7492232426'
,'FBF54771-2497-4B99-BCA7-6C749C529099'..... 一百个GUID )
会有问题吗?
谢谢
|
|
|
|
|
|
|
|
发表于 24-9-2006 10:26 AM
|
显示全部楼层
原帖由 DRAGONISM 于 24-9-2006 03:57 AM 发表
请问goatstudio大大
1. sql statement 有长度的限制吗?
2. 如果有一个sql statement如下
SELECT A.Student FROM tblA AS A WHERE
A.ID IN ('FBF54771-2497-4B99-BCA7-6C749C524229'
,'FBF54771-2497- ...
1. 16777216
2. 不会有问题... 但效率肯定有问题... 不知会不会 time out...
看这里: A Comparison of SQL Server 2000 with DB2 v8.1 |
|
|
|
|
|
|
|
发表于 25-9-2006 12:44 AM
|
显示全部楼层
谢谢goatstudio大大抽空答复之前的问题
-----------------------------------------
Line LinkedLine
1 Null
2 5
3 Null
4 Null
5 Null
当一个record的LinkedLine不是Null时,把这个record放在LinkedLine上面。上面的情形,要把Line 2放在Line 5上面。
要把他弄成:
Line LinkedLine
1 Null
3 Null
4 Null
2 5
5 Null
另一情形,
Line LinkedLine
1 Null
2 5
3 1
4 Null
5 Null
要把他弄成:
Line LinkedLine
3 1
1 Null
4 Null
2 5
5 Null
我可以用2个statement加一些programming弄成,可是想知道可以单单用一个statement吗?
谢谢指导 |
|
|
|
|
|
|
|
发表于 27-9-2006 01:44 AM
|
显示全部楼层
原帖由 DRAGONISM 于 25-9-2006 12:44 AM 发表
谢谢goatstudio大大抽空答复之前的问题
-----------------------------------------
Line LinkedLine
1 Null
2 5
3 Null
4 Null
5 Null
当一个record ...
你需要说出你这样做的 criteria... 才能判断是否能用 sql statement 来达到. |
|
|
|
|
|
|
|
发表于 27-9-2006 10:04 PM
|
显示全部楼层
不知道有没有理解错你的要求, 试试这个
select Line, LinkedLine, 'tmpField' = case
when LinkedLine is null then Line
Else LinkedLine -1
End
from tbTest
order by 3, 2
原帖由 DRAGONISM 于 25-9-2006 12:44 AM 发表
谢谢goatstudio大大抽空答复之前的问题
-----------------------------------------
Line LinkedLine
1 Null
2 5
3 Null
4 Null
5 Null
当一个record ... |
|
|
|
|
|
|
|
楼主 |
发表于 28-9-2006 06:53 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 22-10-2006 11:54 AM
|
显示全部楼层
请问各位高手,有没有只DISPLAY前几大的COMMAND
比如说要DISPLAY前5位分数最多的人. |
|
|
|
|
|
|
|
发表于 22-10-2006 12:59 PM
|
显示全部楼层
原帖由 天魔神 于 22-10-2006 11:54 AM 发表
请问各位高手,有没有只DISPLAY前几大的COMMAND
比如说要DISPLAY前5位分数最多的人.
首先你可以用order by如 最多钱的人 Order By Credit DESC LIMIT 5
这样就可以显示前5大的(for mysql only)
mssql 可以用 SELECT TOP XXXXXX |
|
|
|
|
|
|
|
发表于 22-10-2006 10:20 PM
|
显示全部楼层
原帖由 max5007 于 22-10-2006 12:59 PM 发表
首先你可以用order by如 最多钱的人 Order By Credit DESC LIMIT 5
这样就可以显示前5大的(for mysql only)
mssql 可以用 SELECT TOP XXXXXX
我是用SQL-PLUS, 之前我是放order by maxcount desc,加了高手说的LIMIT,ERROR是SQL command not properly ended,
感谢高手的解答. |
|
|
|
|
|
|
|
发表于 23-10-2006 03:01 AM
|
显示全部楼层
原帖由 天魔神 于 22-10-2006 10:20 PM 发表
我是用SQL-PLUS, 之前我是放order by maxcount desc,加了高手说的LIMIT,ERROR是SQL command not properly ended,
感谢高手的解答.
SQL-PLUS 应该这样写:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
columns
FROM tablename
)
WHERE rownumber <= 5
[ 本帖最后由 goatstudio 于 23-10-2006 03:03 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 27-10-2006 01:43 AM
|
显示全部楼层
请问各位高手,最近小弟我在做一个足球的作业.运用于SQL-PLUS
DBMS_output.put_line('Team Played Won Drew Lost GF GA GD Points');
DBMS_output.put_line('---- ------ --- ---- ---- -- -- -- ------');
高手或足球迷应该知道以上的东西吧.=)
目前我是用CURSOR把他CURSOR去一个我做的SOCCER TABLE,TABLE里面有TEAM的成绩.
AAA 1 BBB 0
CCC 2 DDD 5
AAA 2 DDD 2
我现在遇到的问题是,有什么COMMAND是让SQL查到有重复的TEAM,然后不要再LIST出该TEAM,然后PLAYED + 1的吗?或有什么相同的例子给予小弟参考吗?
因为AAA和DDD又出现了,不可能在TEAM那里DISPLAY两次AAA和DDD吧...
感激~~ |
|
|
|
|
|
|
| |
本周最热论坛帖子
|