我正在使用可以訪問 MySQL 數據庫的 API REST (NodeJS)。在此數據庫中,有一個如下所示的表(我們將其命名為Table_01):| C_0| C_1| C_2| C_3| | 1 | A1 | B1 | 1 || 2 | A1 | B2 | 0 || 3 | B1 | A1 | 0 || 4 | A2 | B1 | 0 || 5 | B2 | A1 | 1 || 6 | B1 | A1 | 0 || 7 | B3 | A1 | 0 || 8 | A1 | B3 | 1 || 9 | A3 | B1 | 0 || 10 | A1 | B3 | 1 || 11 | A1 | B1 | 0 |我的目標是為 C_1 和 C_2 中的一對值在 C_3 上獲得 Value = 1 的第一個匹配。讓我們舉個例子。我想知道在什么情況下A_1 在 C_1 中,在 C_3 中有 1(僅第一個匹配)所以,在這種情況下,結果應該是:A1 B1 1A1 B3 1JSON 格式:result = [ { "C_1": "A1", "C_2": "B1", "C_3": "1", }, { "C_1": "A1", "C_2": "B3", "C_3": "1", }];我不想收到第二個兩次,因為 A1 B3 = 1 在表中包含了兩次。我這樣做可以得到結果:db.query('SELECT * FROM `Table_01` WHERE (`C_1` = A1 AND `C_2` = '+db.escape(value)+') AND `C_3` = 1', (err, res) => { .. });但這會給我第三個條目,其中包含重復的 A1 B3 1。顯然,在這個例子中并不是很重要。但是對于一個充滿行的表,這對于避免非常大的響應和后驗 JS 過濾器很重要。
MySQL 只獲取 3 列之間條件的第一個匹配項
MYYA
2023-08-10 10:50:36