我正在根據基於其他行的特定條件更新某些行。比方說表是這樣的:mysql - 基於其他行的更新行
COLUMNS: time type genre doubles triples
ROW 1: 2010.06.21 12:00 1 1 0 0
ROW 2: 2010.06.21 12:00 1 2 0 0
ROW 3: 2010.06.21 12:00 1 1 0 0
ROW 4: 2010.06.21 12:00 2 3 0 0
ROW 5: 2010.06.22 12:00 2 2 0 0
ROW 6: 2010.06.22 12:00 2 3 0 0
ROW 7: 2010.06.22 12:00 1 1 0 0
我期待更新基於以下規則doubles
和triples
列:
1)僅看更新行,其中行之間的time=time
和type=type
(例如行1,2,3和行5 & 6)。
2)接着計數的那些行之間不同genre
「S的#,如果有兩個不同的genres
則doubles
柱更改爲1,或者如果存在三個則triples
柱更改爲1 SO例如在上面第1,2,3行的表格會有doubles=1
,因爲三行之間有兩種不同的流派。第5行和第6行也將有doubles=1
,因爲行之間還有兩種不同的流派。 Doubles
can = 1和triples
can = 1但不是兩者都可以。
現在,我可以很容易地寫出一些基於這些規則的PHP,我想,但我想知道是否有辦法在mysql中完成這一切?看起來我總是很驚訝你可以從SQL語句中完成的數量。
也許像(爲doubles
和triples
列兩個不同的語句):
雙打 - UPDATE myTable SET (doubles=1) WHERE time=time AND type=type
...但後來你會如何解釋上述規則#2(具有獨特風格的行計數數)。
這是可能的在MySQL中或PHP只是正確的方式去這裏?
預先感謝
謝謝我會玩這個有點讓你知道它是如何工作的 – themerlinproject 2011-02-06 04:23:06