2
A
回答
2
試試這個:
where 1 = (field1 = 1) + (field2 = 1) + ...
這工作,在MySQL的每一個狀況都變成了1
或0
的基礎上。如果所有條件的添加是1
,那麼這意味着只有一個是1
(或true
)。
+2
+1這真是太棒了! :) – Basti 2012-04-10 03:05:03
0
這會工作:
SELECT field1 + field2 + field3 + field4 + field5 + field6 + field7 + field8 = 1
AS ONLY_ONE
將返回1
(TRUE)如果總和爲1和0(FALSE)如果是大於1(一組以上)大於或小於1(無組)。
如果沒有表/ DB嚴格模式(使值不爲0的和1是可能的),你可以這樣做:
SELECT (field1 > 0) + (field2 > 0) + (field3 > 0) ... = 1 AS ONLY_ONE
因爲表達式爲真(1)因此如果它是1或更大(已設置),則作爲值1
添加。
如果不是默認設置,那麼你可以進一步細化查詢:
SELECT COALESCE(field1 > 0, 0) + COALESCE(field2 > 0, 0) + COALESCE(field3 > 0, 0) ...
= 1 AS ONLY_ONE
所以覆蓋你的基地最好的辦法是:
SELECT
COALESCE(field1 > 0, 0) +
COALESCE(field2 > 0, 0) +
COALESCE(field3 > 0, 0) +
COALESCE(field4 > 0, 0) +
COALESCE(field5 > 0, 0) +
COALESCE(field6 > 0, 0) +
COALESCE(field7 > 0, 0) +
COALESCE(field8 > 0, 0) +
= 1 AS ONLY_ONE
FROM my_table;
相關問題
- 1. 測試一個向量的任何元素是否等於1
- 2. 等待1個測試
- 3. 檢查MySQL表中的字段是否等於1的函數
- 4. 查看數字是否等於1或每第5個數字
- 5. 爲什麼1字節等於8位?
- 6. 如何檢查C#正則表達式是否嘗試匹配1-(只有-1)個字符串?
- 7. webpack中的2個包:1個用於js + css和1個用於css只有
- 8. Java測試變量是否等於數組中的值,如果不打印-1
- 9. SubmitChanges()只更新1個字段?
- 10. 如何測試一個字符串類型是否等於另一個javascript
- 11. 如何測試輸入字符是否在1-9之間?
- 12. PHP驗證 - 檢查是否有1個字段填充
- 13. 執行代碼只有一個變量的總和等於1
- 14. 只有1個字符,而不是整個字從JavaScript
- 15. 如何測試變量是否等於兩個值之一?
- 16. 如何可靠地測試一個值是否等於NaN?
- 17. 如何檢測字符串是否包含PHP中的1個大寫字母
- 18. JOIN 2 SQL表(表1中的1個字段替換另一個表中的1個字段)
- 19. ViewFlipper只有1個佈局?
- 20. 爲什麼「1」等於「+1」?
- 21. 是否Redis實例只能用於1個項目?
- 22. Ajax readyState總是等於1
- 23. Vaildate 1字段有多個選項
- 24. 如何測試字段是否只允許數值(由selenium IDE)
- 25. 如何迭代ArrayList,只從每個對象中抽出1個字段
- 26. Filemaker:Script「等於1」
- 27. 如何測試兩個輸入字段是否爲空?
- 28. 如何測試所有位是否置1或所有位不是?
- 29. Maven 1.x:調試單個測試
- 30. 爲什麼LINQ 2 SQL有時添加一個字段,如select 1作爲測試,其他有效字段
[你嘗試過什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – j08691 2012-04-10 02:46:01
數據庫沒有列,表格。 – Basti 2012-04-10 02:46:43
@請提供更多信息。數字可以是負數,還是大於1? – Sampson 2012-04-10 02:57:27