我有一个名为Wosequence的专栏。截至目前,当我查询时,该列中没有填充任何内容,因为在该列中技术上没有任何内容。我希望用我的结果集做什么。是在前8个结果之后应用迭代器。然后它将使用迭代器的结果填充wosequence。我不需要在wosequence中插入数据。我只需要在我的结果集中填充wosequence。
我可以做两个单独的查询。一个用于前8个,然后是另一个查询的Union,它将获得剩余的结果集。我只是好奇我将如何实现一个迭代器函数来填充我的wosequence列。
表格
wonum parent taskid wosequence
===== ====== ====== ========
10 0 10
20 0 20
30 0 30
.. .. ..
90 0 90
100 0 100
所需输出
wonum parent taskid wosequence
===== ====== ====== ========
10 0 10
20 0 20
30 0 30
.. .. ..
<------iterator would begin and insert its value
90 0 90 1
100 0 100 2
110 0 110 3
答案 0 :(得分:1)
我和
一起去SELECT
CASE
WHEN ROW_NUMBER() > 7
THEN
ROW_NUMBER()-7
ELSE
''
END AS Wosequence
, colum2, column3
FROM dbo.abc [..]
答案 1 :(得分:0)
由于mysql中没有row_number,你可以从子查询中获取它,然后执行检查:
SELECT
wonum,
parent,
taskid,
CASE
WHEN Wosequence >=8
THEN Wosequence
FROM
(
SELECT
wonum,
parent,
taskid,
@row_number:=@row_number+1 AS Wosequence
FROM
table1,
(
SELECT
@row_number:=0
) AS t
)