簡體   English   中英

在存儲過程mysql中選擇並添加到變量的當前值

[英]select into and add to current value of variable in stored procedure mysql

我想在一個變量的兩個表中獲取記錄總數。 以下是代碼:

declare v_sum int default 0;
declare v_count2 int default 0;

select count(*) into v_sum
from table1;

select count(*) into v_count2 
from table2;

set v_sum = v_sum + v_count2;

有什么方法可以直接選擇並在v_sum添加table2計數,而無需創建v_count2變量。

您不需要兩個變量。 一種方法是組合兩個集合,然后執行COUNT

SELECT COUNT(*)
INTO v_sum
FROM (SELECT 1 AS c
 FROM table1
 UNION ALL
 SELECT 1
 FROM table2) AS sub

編輯:

SELECT SUM(c)
INTO v_sum
FROM (SELECT COUNT(*) AS c
     FROM table1
     UNION ALL
     SELECT COUNT(*)
     FROM table2) AS sub

您可以直接使用查詢,例如:

SET v_sum = v_sum + (SELECT COUNT(*) FROM table2);

避免變量的一種方法是:

select v_sum + count(*) into v_sum
from table2;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM