0

これを理解することはできません...

テーブルがあります。フィールドの 1 つは変数型です。いくつかのユーザー入力変数タイプがあります。例えば:

ID | 変数タイプ
 1 | ボタン
 2 | 文章
 3 | ボタン
 4 | リンク
 5 | ボタン
 6 | リンク

基本的に、各変数タイプがリストされた回数をカウントするための SQL をいくつか書きました。これをサブクエリに入れて、最大数のインスタンス (この例ではボタン) を持つレコードを取得できるようにしました。

私の問題は、クエリが最大数のみを返し、実際の変数の型が表示されないことです。私の理想的な結果は、変数の種類と最大数を表示することです。何かご意見は?

 SELECT MAX(y.mosttested)
   FROM (SELECT variabletype, COUNT(variableid) AS mosttested
     FROM variable GROUP BY variabletype) y
4

3 に答える 3

1

これを試して :

SELECT `variabletype `,
       COUNT(`variabletype `) AS `value_occurrence` 
FROM   `my_table`
GROUP BY `value`
ORDER BY `value_occurrence` DESC
LIMIT    1;
于 2013-10-12T22:43:11.293 に答える
0

試す

select variabletype,n
from 
  (SELECT variabletype, COUNT(variableid) AS mosttested
  FROM variable GROUP BY variabletype) v 
where mosttested=(SELECT MAX(y.mosttested) AS n
   FROM (SELECT variabletype, COUNT(variableid) AS mosttested
     FROM variable GROUP BY variabletype) y)
于 2013-10-12T22:43:46.233 に答える
0

ご使用の SQL 環境で row_number 関数が利用可能な場合は、次の操作を実行できます。

SELECT y.variabletype, y.mosttested as max_mosttested
   FROM (SELECT variabletype, COUNT(variableid) AS mosttested, row_number()over(order by count(variableid) desc)
     FROM variable GROUP BY variabletype) y
where rownum=1
于 2013-10-12T22:49:50.567 に答える