[英]Mysql select row with same value column
最好的方法是通過創建一個 USER_ANSWERS 表來改進您的關系 model,然后您可以簡單地計算分數 = 1 的答案。這樣您就不會依賴於調查中的問題數量。
如果這不是您想做的事情,則此查詢可以解決問題:
UPDATE TABLE SET selected = 1 WHERE GREATEST(0,m1) + GREATEST(0,m2) + GREATEST(0,m3) + GREATEST(0,m4) > 0
如果您希望selected
列的至少 2 1
為1
,則:
UPDATE tablename
SET selected = (m1 = 1) + (m2 = 1) + (m3 = 1) + (m4 = 1) >= 2
boolean 表達式mx = 1
中的每一個對於true
或false
的計算結果為1
或0
。
請參閱演示。
結果:
> id | name | m1 | m2 | m3 | m4 | selected
> -: | :---- | -: | -: | -: | -: | -------:
> 1 | user1 | 1 | 1 | 1 | 1 | 1
> 2 | user2 | 1 | -1 | -1 | -1 | 0
> 3 | user3 | 1 | 1 | 0 | 0 | 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.