我正在將數據從MySQL導出到.csv,我需要根據表中的特定列包含行計數。將列值更新爲同一表中特定值的COUNT行
我稱之爲表e
與列id
,e1
和e2
|id|e1|e2|
| 1| A| |
| 2| A| |
| 3| A| |
| 4| B| |
| 5| C| |
| 6| B| |
我在尋找的結果是:
|id|e1|e2|
| 1| A| 3|
| 2| A| 3|
| 3| A| 3|
| 4| B| 2|
| 5| C| 1|
| 6| B| 2|
如果我嘗試這樣:
UPDATE `e` SET `e2` = (SELECT COUNT(`id`) FROM `e` WHERE `e1` = 'A') WHERE `e1` = 'A';
我得到: 您不能指定目標表「E」的更新在FROM子句
我如何去更新我的數據,以便在e2
值與e1
值的行數?這是我不能/不應該在MySQL中做,但應該在PHP中做?
(我覺得我失去了一些東西明顯的....)
一些想法:http://stackoverflow.com/ q/16909732/395857 基本上,當你更新它(寫入鎖定)時,你不能讀取'e',所以你需要規避它,例如使用臨時表。 –