0

2 つの異なるクエリからのデータを一緒に表示する必要があります。

クエリ 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`;

これら両方のクエリのデータを一緒に表示したいと思います。

4

4 に答える 4

3


必要なものに応じて、列ごとに次のようなことができます。

select ( select count(DISTINCT(nickname)) users_got_a_card from capture_captive where 'number_successed'>0) as column1,
 (select count(DISTINCT(`nickname`)) users_shown_captive from 'capture_captive')as column2

または行ごと:

select count(DISTINCT(nickname)) users_got_a_card from capture_captive where number_successed>0 
UNION ALL  
select count(DISTINCT(nickname)) users_shown_captive from capture_captive
于 2013-08-16T08:09:30.080 に答える
2

それらを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のデモです

于 2013-08-16T08:04:35.187 に答える
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 
于 2013-08-16T08:14:03.343 に答える
0

それは簡単です。

最初に、通常の方法で最初のクエリの結果を取得し、変数 に格納します$var1
次に、通常の方法で 2 番目のクエリの結果を取得し、変数 に格納します$var2
最後に、それらをまとめて表示するコードを作成します。

echo $var1," ",$var2;

それと同じくらい簡単です。

于 2013-08-16T08:11:19.713 に答える