![](/img/trans.png)
[英]How to return rows where text value in one column is part of text value in the other column in MySQL?
[英]MySQL return 1 or 0 by multiplying the value in other rows
我有一個稱為應用程序的表。 該表具有名為狀態的列。 用戶可以有許多應用程序。 我想編寫一個查詢以根據整體狀態檢索用戶應用程序的狀態。 如果應用程序的每個狀態均為1,則查詢需要返回1,否則返回0。(邏輯上和每個狀態)。
我正在使用BIT_AND執行此操作。 如果要比較兩個或多個數據,此功能將顯示正確的結果。 如果只有一條記錄,則該值為1。
For example
0 * 0 => 1 (status) **This is error. Correct should be 0**
0 => 1 (status) **This is error. Correct should be 0**
1 * 0 = 0 (status)
我正在使用此查詢。
SELECT bit_and(application.status)
from applicant_applications application
where application.applicant_id = 1;
這個問題可以很容易地在程序中解決。 但是我在查詢中尋找東西。 提前致謝
您可以使用幾個聚合函數來確定查詢結果。 就像是
SELECT IF(SUM(aa.status) = COUNT(DISTINCT aa.id), 1, 0) as `status`
FROM applicant_applications aa
WHERE aa.applicant_id = 1
GROUP BY aa.applicant_id;
檢查所有應用程序的狀態是否為1就足夠了。
要測試,請查看以下小提琴:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.