我必须一起显示来自两个不同查询的数据。
查询1:
select count(DISTINCT(nickname)) users_got_a_card from capture_captive where `number_successed`>0;
查询2:
select count(DISTINCT(`nickname`)) users_shown_captive from `capture_captive`;
我想一起显示这两个查询的数据。
提前致谢。
答案 0 :(得分:3)
根据你的需要你可以做这样的事情 每列:
从capture_captive中选择(选择计数(DISTINCT(昵称))users_got_a_card,其中'number_successed'> 0)为column1, (从'capture_captive'中选择count(DISTINCT(
nickname
))users_shown_captive)作为column2
或每行:
从capture_captive中选择count(DISTINCT(昵称))users_got_a_card,其中number_successed> 0 UNION ALL
中选择count(DISTINCT(昵称))users_shown_captive
从capture_captive
答案 1 :(得分:2)
如果您希望将它们作为单行的两列,则可以尝试
SELECT
(
SELECT COUNT(DISTINCT(nickname))
FROM capture_captive
WHERE `number_successed`> 0
) users_got_a_card,
(
SELECT COUNT(DISTINCT(`nickname`))
FROM `capture_captive`
) users_shown_captive
或
SELECT users_got_a_card, users_shown_capt
FROM
(
SELECT COUNT(DISTINCT(nickname)) users_got_a_card
FROM capture_captive
WHERE `number_successed`> 0
) a CROSS JOIN
(
SELECT COUNT(DISTINCT(`nickname`)) users_shown_capt
FROM `capture_captive`
) b
或
SELECT COUNT(DISTINCT(IF(`number_successed` > 0, `nickname`, NULL))) users_got_a_card,
COUNT(DISTINCT(`nickname`)) users_shown_capt
FROM `capture_captive`
这是 SQLFiddle 演示
答案 2 :(得分:1)
select count(DISTINCT(case when `number_successed`>0
then `nickname` end)) users_got_a_card,
count(DISTINCT(nickname)) users_shown_captive
from capture_captive
答案 3 :(得分:0)
这很简单。
首先,从第一个查询常规方式获取结果,并将其存储在名为$var1
的变量中
接下来,从常规方式获取第二个查询的结果,并将其存储在名为$var2
的变量中
最后,创建一个代码来展示它们:
echo $var1," ",$var2;
就这么简单。