我正在尝试创建一个过程,返回一个包含我数据库的一些信息的表,它根据在酒店使用每种类型信用卡的客户数量列出了酒店的编号
请记住,有超过 50 家酒店和 3 种类型的信用卡,我希望程序能够运行数据并在表格中列出
DELIMITER //
DROP PROCEDURE IF EXISTS `testing` //
CREATE PROCEDURE `testing`(OUT param1 VARCHAR(40))
BEGIN
DECLARE id_cnpjEstabelecimento VARCHAR(40);
DECLARE id_redeCartão VARCHAR(255);
SELECT (cnpjEstabelecimento)
FROM fpcsmovatlantica201308tst04;
SET id_cnpjEstabelecimento := cnpjEstabelecimento;
SELECT (id_redeCartão)
FROM fpcsmovatlantica201308tst04;
SET id_redeCartão := id_redeCartão;
SELECT count(*)
FROM fpcsmovatlantica201308tst04;
WHERE redeCartão like 'id_redeCartão%';
AND cnpjEstabelecimento like 'id_cnpjEstabelecimento%';
END //
DELIMITER ;
选择的示例
SELECT count(*)
FROM fpcsmovatlantica201308tst04
WHERE redeCartão like 'Cielo%'
AND cnpjEstabelecimento like '02223966000466%'
cnpjEstabelecimento 有多个值,超过 100+,因此无法进行所有选择
我什至不需要使用程序来制作它,最终的结果是
SELECT cnpjEstabelecimento, redeCartão, count(*)
FROM fpcsmovatlantica201308tst04
WHERE redeCartão like 'Cielo%'
GROUP BY cnpjEstabelecimento,redeCartão like 'Cielo%'
ORDER BY cnpjEstabelecimento ASC;
最佳答案
我假设您有一张表,看起来有点像这样:
|hotelId|cardType|etc...
我会选择:
Select hotelId, cardType, count(*)
from myTable
group by hotelId, cardType
我测试过here使用以下 SQL:
SELECT country, city, count(*)
from customers
group by country, city
ORDER BY Country;
关于mysql - 使用过程建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227523/