Mysql查询返回的记录数大于返回的行数,我需要所有行
您可以尝试上面的查询 希望这对你有帮助。明白了吗 从中选择t、t2 挑选Mysql查询返回的记录数大于返回的行数,我需要所有行,mysql,mysqli,Mysql,Mysqli,您可以尝试上面的查询 希望这对你有帮助。明白了吗 从中选择t、t2 挑选 SELECT * FROM (SELECT SUM(calls) t, NULL t2 FROM (SELECT COUNT(DISTINCT callid_app) AS calls, parent_id AS area_id FROM fp_data AS f INNER JOIN data_entities A
SELECT *
FROM
(SELECT
SUM(calls) t, NULL t2
FROM
(SELECT
COUNT(DISTINCT callid_app) AS calls, parent_id AS area_id
FROM
fp_data AS f
INNER JOIN data_entities AS d ON d.unique_id = f.from_branch
WHERE
f.type = 'Ext/In'
AND (date_time BETWEEN '2017-05-08 00:00:00' AND '2017-05-09 23:59:59')
AND (WEEKDAY(date_time) <= 4)
AND (HOUR(date_time) BETWEEN 9 AND 16)
AND d.parent_id IN (6 , 13, 21, 27)
AND ignore_call != 1
AND d.unique_id > 0
GROUP BY d.unique_id) AS total_calls
GROUP BY area_id
UNION ALL
SELECT
NULL t, SUM(calls) t2
FROM
(SELECT
COUNT(DISTINCT callid_app) AS calls, parent_id AS col
FROM
fp_data AS f
INNER JOIN data_entities AS d ON d.unique_id = f.from_branch
WHERE
f.type = 'Ext/In'
AND (date_time BETWEEN '2017-05-08 00:00:00' AND '2017-05-09 23:59:59')
AND (WEEKDAY(date_time) <= 4)
AND (HOUR(date_time) BETWEEN 9 AND 16)
AND d.parent_id IN (6 , 13, 21, 27)
AND seg_other_value = '1'
AND start_reason = '[New Call]'
AND d.unique_id > 0
GROUP BY unique_id) AS calls
GROUP BY col)z
我甚至看不懂你的疑问。请通过在每行代码中添加四个空格来设置格式。关于错误,这是不言而喻的:您的选择列表中有一个子查询返回多个值,这是没有意义的。那么,如果我想要全部四行,那么解决方案是什么呢?你能提供示例数据和预期结果吗?@P.salmon:请再次检查问题块我已经在结果中添加了我期望的内容。你能提供示例数据吗?面临相同的错误:子查询返回超过1行可以管理派生表别名,但它结果像t一样显示,t2总共有8行,而t列有4行数据,t2有空数据,接下来的4行t有空数据,t2有数据是的,但这正是你们想要的?t,t2 94,56 42 43 15 76 75 78
t, t2
94, 56
42 43
15 76
75 78
SELECT *
FROM
(SELECT
SUM(calls) t, NULL t2
FROM
(SELECT
COUNT(DISTINCT callid_app) AS calls, parent_id AS area_id
FROM
fp_data AS f
INNER JOIN data_entities AS d ON d.unique_id = f.from_branch
WHERE
f.type = 'Ext/In'
AND (date_time BETWEEN '2017-05-08 00:00:00' AND '2017-05-09 23:59:59')
AND (WEEKDAY(date_time) <= 4)
AND (HOUR(date_time) BETWEEN 9 AND 16)
AND d.parent_id IN (6 , 13, 21, 27)
AND ignore_call != 1
AND d.unique_id > 0
GROUP BY d.unique_id) AS total_calls
GROUP BY area_id
UNION ALL
SELECT
NULL t, SUM(calls) t2
FROM
(SELECT
COUNT(DISTINCT callid_app) AS calls, parent_id AS col
FROM
fp_data AS f
INNER JOIN data_entities AS d ON d.unique_id = f.from_branch
WHERE
f.type = 'Ext/In'
AND (date_time BETWEEN '2017-05-08 00:00:00' AND '2017-05-09 23:59:59')
AND (WEEKDAY(date_time) <= 4)
AND (HOUR(date_time) BETWEEN 9 AND 16)
AND d.parent_id IN (6 , 13, 21, 27)
AND seg_other_value = '1'
AND start_reason = '[New Call]'
AND d.unique_id > 0
GROUP BY unique_id) AS calls
GROUP BY col)z
SUM(calls) t, area_id
FROM
(SELECT
COUNT(DISTINCT callid_app) AS calls, parent_id AS area_id
FROM
fp_data AS f
INNER JOIN data_entities AS d ON d.unique_id = f.from_branch
WHERE
f.type = 'Ext/In'
AND (date_time BETWEEN '2017-05-08 00:00:00' AND '2017-05-09 23:59:59')
AND (WEEKDAY(date_time) <= 4)
AND (HOUR(date_time) BETWEEN 9 AND 16)
AND d.parent_id IN (6 , 13, 21, 27)
AND ignore_call != 1
AND d.unique_id > 0
GROUP BY d.unique_id) AS total_calls
GROUP BY area_id) as total_calls inner join
(SELECT
area_id, SUM(calls) t2
FROM
(SELECT
COUNT(DISTINCT callid_app) AS calls, parent_id AS area_id
FROM
fp_data AS f
INNER JOIN data_entities AS d ON d.unique_id = f.from_branch
WHERE
f.type = 'Ext/In'
AND (date_time BETWEEN '2017-05-08 00:00:00' AND '2017-05-09 23:59:59')
AND (WEEKDAY(date_time) <= 4)
AND (HOUR(date_time) BETWEEN 9 AND 16)
AND d.parent_id IN (6 , 13, 21, 27)
AND seg_other_value = '1'
AND start_reason = '[New Call]'
AND d.unique_id > 0
GROUP BY unique_id) AS calls
GROUP BY area_id) as branch_total_calls on total_calls.area_id=branch_total_calls.area_id