所以我有一些从 1 到 40 的范围,
我必须使用它来执行来自相同表和列但来自不同范围的不同查询,例如:
mysql_query("SELECT * FROM table WHERE column > 1 && column <= 15");
mysql_query("SELECT * FROM table WHERE column >=18 && column <= 30");
mysql_query("SELECT * FROM table WHERE column >= 35 && column <= 38");
对于不同的操作,我从这些查询中一一获取总行数...但是我如何将这 3 个示例查询合并为 1 个并获得相同的结果?
最佳答案
SELECT * FROM table
WHERE (column > 1 AND column <= 15)
OR (column >= 18 AND column <= 30)
OR (column >= 35 AND column <= 38)
//编辑:OP 想要计算每个条件的行数:
SELECT
(SELECT COUNT(*) FROM table WHERE column > 1 AND column <= 15) AS count_1,
(SELECT COUNT(*) FROM table WHERE column >= 18 AND column <= 30) AS count_2,
(SELECT COUNT(*) FROM table WHERE column >= 35 AND column <= 38) AS count_3
FROM table
count_1、count_2 和 count_3 是每个条件的行数。
关于php mysql 将多个相同的查询合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362992/