gpt4 book ai didi

MySQL选择一个数字范围的计数

转载 作者:行者123 更新时间:2023-11-29 01:43:10 24 4
gpt4 key购买 nike

我不确定如何进行此选择。这是我的表结构。

CREATE TABLE `my_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`step` int(2) NOT NULL DEFAULT '0',
`title` varchar(200) NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;

步骤列将包含一个介于 0 和 7 之间的整数。我正在尝试计算表中第 1 步到第 6 步范围内的记录数。我需要整个范围 (1 - 6),包括 COUNT等于零。我希望它按顺序返回 -- 像这样。

+----------+----------+
| step | n |
+----------+----------+
| Step 1 | 100 |
+----------+----------+
| Step 2 | 150 |
+----------+----------+
| Step 3 | 135 |
+----------+----------+

我希望我不需要为此定义程序。有没有一种简单的方法可以获得我需要的东西?

最佳答案

SELECT
s.step
, COALESCE(t.n, 0) AS n
FROM
( SELECT 1 AS step UNION ALL
SELECT 2 UNION ALL
SELECT 3 UNION ALL
SELECT 4 UNION ALL
SELECT 5 UNION ALL
SELECT 6
) AS s
LEFT JOIN
( SELECT step
, COUNT(*) AS n
FROM my_table
GROUP BY step
) AS t
ON t.step = s.step
ORDER BY
s.step ;

关于MySQL选择一个数字范围的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14061035/

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