Board logo

標題: [操作疑難] 請教mysql問題 [打印本頁]

作者: carlkyo    時間: 2016-12-17 14:52     標題: 請教mysql問題

我有個table
id   1  2  3  4  5 6  ....
2     1  0  1  1  1  0
我想count  row 2  裡面有幾多field係1
many thanks
作者: 7h1r733n    時間: 2016-12-17 15:59

冇直接的raw sql做到.. 因為sql本身係唔預你咁做(因為不同datatype)
真係要咁做又要sql只能用stored proce
作者: yjfoeg    時間: 2016-12-17 16:01

sql唔係畀你咁用
作者: carlkyo    時間: 2016-12-17 16:15

多謝ching指教
下次我整之前研究下先做
作者: 7h1r733n    時間: 2016-12-17 16:25

多謝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;
複製代碼

作者: 高原熊    時間: 2016-12-18 03:23

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

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



    我用左foreach query i++
作者: KinChungE    時間: 2016-12-19 09:19

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


咁會超慢
寧願你query成個table, 跟住fetch row出黎, 之後先拎D value計數
作者: carlkyo    時間: 2016-12-19 15:05

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



    每次都係計一行既field, 唔會慢啦
作者: 高原熊    時間: 2016-12-19 15:14

正常無人接受到loop query吧?睇下你幾無所謂吧?
作者: KinChungE    時間: 2016-12-19 15:23

每次都係計一行既field, 唔會慢啦
carlkyo 發表於 2016-12-19 15:05


當你有好多行要計既時候就唔係咁講
唔係計每次幾耐, 而係計total行左幾多次query
作者: carlkyo    時間: 2016-12-20 09:05

當你有好多行要計既時候就唔係咁講
唔係計每次幾耐, 而係計total行左幾多次query ...
KinChungE 發表於 2016-12-19 15:23



    收到
多謝ching指教





歡迎光臨 電腦領域 HKEPC Hardware (https://h0.hkepc.com/forum/) Powered by Discuz! 7.2