大佬們,如題
第一張表sql:
SELECT count(*) as count,stage FROM `gametext` WHERE `status` = 0 AND `isEgg` = 0 AND `stage` >= 15 AND `create_time` BETWEEN '2020-06-09 00:00:00' AND '2020-06-09 23:59:59' GROUP BY `stage`
得到的結果集為
[{"count":1,"stage":15},{"count":1,"stage":16},{"count":1,"stage":17},{"count":1"stage":18}]
另外一張表sql
SELECT count(*) as count,stage FROM `gametext_other` WHERE `status` = 0 AND `isEgg` = 0 AND `stage` >= 15 AND `create_time` BETWEEN '2020-06-09 00:00:00' AND '2020-06-09 23:59:59' GROUP BY `stage`
得到的結果集為
[{"count":1,"stage":15},{"count":1,"stage":16},{"count":1,"stage":17},{"count":1,"stage":18}]
如何使用一條sql查詢出這兩個表的同stage相加,結果為gametext+gametext_other的,如:
[{"count":2,"stage":15},{"count":2,"stage":16},{"count":2,"stage":17},{"count":2,"stage":18}]
uj5u.com熱心網友回復:
原資料的資料量不大時:select count(*) as count, c.stage from
(select * from gametext
UNION ALL
select * from gametext_other) as c
WHERE c.`status` = 0 AND c.`isEgg` = 0 AND c.`stage` >= 15
AND c.`create_time` BETWEEN '2020-06-09 00:00:00' AND '2020-06-09 23:59:59'
group by c.stage;
原資料的資料量大時:
select count(*) as count, c.stage from
(SELECT * FROM `gametext`
WHERE `status` = 0 AND `isEgg` = 0 AND `stage` >= 15
AND `create_time` BETWEEN '2020-06-09 00:00:00' AND '2020-06-09 23:59:59'
UNION ALL
SELECT * FROM `gametext_other`
WHERE `status` = 0 AND `isEgg` = 0 AND `stage` >= 15
AND `create_time` BETWEEN '2020-06-09 00:00:00' AND '2020-06-09 23:59:59') as c
group by c.stage
uj5u.com熱心網友回復:
謝謝老師,結不了帖不知道為什么,點結帖提示例外 讓我聯系客服
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14985.html
標籤:MySQL
上一篇:sqlstringconnect如何通過IP地址訪問局域網中的SQL服務器
下一篇:高效的使用索引
