[操作疑難] 請教mysql問題

我有個table
id   1  2  3  4  5 6  ....
2     1  0  1  1  1  0
我想count  row 2  裡面有幾多field係1
many thanks

冇直接的raw sql做到.. 因為sql本身係唔預你咁做(因為不同datatype)
真係要咁做又要sql只能用stored proce

TOP

sql唔係畀你咁用

TOP

多謝ching指教
下次我整之前研究下先做

TOP

多謝ching指教
下次我整之前研究下先做
carlkyo 發表於 2016-12-17 16:15


如果你D field係同type例如bit... 係可以咁寫
  1. SELECT c1,c2,c3,c4,c5,c6,c7,c8,c9,c10, @count:=((c1+c2+c3+c4+c5+c6+c7+c8+c9+c10)) as `Count` FROM `foo` WHERE id=1;
複製代碼

TOP

唔知師兄有無搞錯,因為mysql正路係用column做index,row係指一條紀錄。
如果你真係要問其中一條row入面有幾多個1,應該要攞出黎後loop條數據搜一次。

TOP

如果你D field係同type例如bit... 係可以咁寫
7h1r733n 發表於 2016-12-17 16:25



    我用左foreach query i++

TOP

我用左foreach query i++
carlkyo 發表於 2016-12-18 10:15


咁會超慢
寧願你query成個table, 跟住fetch row出黎, 之後先拎D value計數

TOP

咁會超慢
寧願你query成個table, 跟住fetch row出黎, 之後先拎D value計數 ...
KinChungE 發表於 2016-12-19 09:19



    每次都係計一行既field, 唔會慢啦

TOP

正常無人接受到loop query吧?睇下你幾無所謂吧?

TOP

相關文章