2011-03-28 43 views
0

我有一個沒有主鍵或唯一鍵的表。有沒有MySQL offsest更新?

我想更新按日期排序的第n個記錄中的某些值。

mysql更新限制沒有偏移(如限制1,2),我該怎麼做?

+0

你必須看使用一個變量來創建重置值更改時獲得類似'ROW_NUMBER功能的等級值的MySQL查詢() OVER(PARTITION BY value)AS rank,因爲MySQL不支持分析函數 – 2011-03-28 01:27:46

回答

1
UPDATE table_name 
... 
WHERE ids in (SELECT ids FROM table_name limit ....) 
+0

Hi spinning_palte,倒黴,在這個表中沒有任何主鍵或唯一鍵。 – skargor 2011-03-28 01:26:05

1

這是醜陋的,但...

您可以創建一個臨時表?我建議使用日期字段的排序值創建臨時表,使用LIMIT子句進行選擇。然後您可以使用臨時表中的值更新原始表格。

這將是這樣的:

create temporary table temp 
    select date_field from mytable order by date_field limit 4,2; 

update mytable set another_field='FOUND' 
where date_field in (select date_field from temp);