gpt4 book ai didi

mysql - 使用不同的参数重复 SQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:29 25 4
gpt4 key购买 nike

大家好,经过一些研究,我并没有真正成功地找到适合我的问题的答案

这是我的问题,我有一个 SQL 查询,我想迭代这个查询,迭代涉及查询中一个参数的更改。这是基本查询

select count(*) 
from car_rent
inner join car on car_rent.car_id = car.id
where car_rent.created_at BETWEEN 2019-01-01 and 2019-01-31
and car.zipcode like '75%'

现在我想要的是遍历此查询,获取所有结果,并每次用另一个参数替换 75% 参数。我必须从 01 到 95。

我查看了堆栈并发现了一些可能很有趣的东西,但我并没有真正找到如何对此进行查询以获得我期望的结果

Dept | Count(*)
01 | 9
02 | 14
03 | 2
04 | 18
....

这就是我要找的结果 =)

另一个查询我找到了这个 =>

SELECT
SEQ.SeqValue
FROM
(
SELECT
(HUNDREDS.SeqValue + TENS.SeqValue + ONES.SeqValue) SeqValue
FROM
(
SELECT 0 SeqValue
UNION ALL
SELECT 1 SeqValue
UNION ALL
SELECT 2 SeqValue
UNION ALL
SELECT 3 SeqValue
UNION ALL
SELECT 4 SeqValue
UNION ALL
SELECT 5 SeqValue
UNION ALL
SELECT 6 SeqValue
UNION ALL
SELECT 7 SeqValue
UNION ALL
SELECT 8 SeqValue
UNION ALL
SELECT 9 SeqValue
) ONES
CROSS JOIN
(
SELECT 0 SeqValue
UNION ALL
SELECT 10 SeqValue
UNION ALL
SELECT 20 SeqValue
UNION ALL
SELECT 30 SeqValue
UNION ALL
SELECT 40 SeqValue
UNION ALL
SELECT 50 SeqValue
UNION ALL
SELECT 60 SeqValue
UNION ALL
SELECT 70 SeqValue
UNION ALL
SELECT 80 SeqValue
UNION ALL
SELECT 90 SeqValue
) TENS
) SEQ

它为我提供了 99 行的结果,但我真的不知道如何将我的 sql 请求与这个请求结合起来以获得我想要的结果

如果有人能给我一些提示,那将不胜感激

最佳答案

我相信以下查询是您需要的

SELECT S.SeqValue, COUNT(C.zipcode)
FROM
(
SELECT
SEQ.SeqValue
FROM
(
SELECT
(TENS.SeqValue + ONES.SeqValue) SeqValue
FROM
(
SELECT 0 SeqValue
UNION ALL
SELECT 1 SeqValue
UNION ALL
SELECT 2 SeqValue
UNION ALL
SELECT 3 SeqValue
UNION ALL
SELECT 4 SeqValue
UNION ALL
SELECT 5 SeqValue
UNION ALL
SELECT 6 SeqValue
UNION ALL
SELECT 7 SeqValue
UNION ALL
SELECT 8 SeqValue
UNION ALL
SELECT 9 SeqValue
) ONES
CROSS JOIN
(
SELECT 0 SeqValue
UNION ALL
SELECT 10 SeqValue
UNION ALL
SELECT 20 SeqValue
UNION ALL
SELECT 30 SeqValue
UNION ALL
SELECT 40 SeqValue
UNION ALL
SELECT 50 SeqValue
UNION ALL
SELECT 60 SeqValue
UNION ALL
SELECT 70 SeqValue
UNION ALL
SELECT 80 SeqValue
UNION ALL
SELECT 90 SeqValue
) TENS
) SEQ
) AS S
LEFT JOIN
(
SELECT car.zipcode
FROM car_rent
INNER JOIN car ON car_rent.car_id = car.id
WHERE car_rent.created_at BETWEEN 2019-01-01 AND 2019-01-31
) AS C ON C.zipcode LIKE CONCAT(CONVERT(VARCHAR, S.SeqValue), '%')
GROUP BY S.SeqValue

更新

为 MYSQL 更新了 ON 子句(感谢@Raymond 指出)

关于mysql - 使用不同的参数重复 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58319632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com