1

次の構造の行/データを含むテーブルがあります

-----------
| SURVEY_ID |
------------
|  1       |
|  2       |
|  2       |
|  3       |
|  4       |
-----------

同じクエリで個別の ID と最大 ID を取得したい。私は試した

select distinct(survey_id) as survey_id , max(survey_id) as current 
from survey_main 
group by survey_id

これは正しい結果を返していないようです。私は何が欠けていますか?

編集:必要な結果

        ----------------------
        | | 独特| マックス |
        ----------------------
        | | 1 | 4 |
        | | 2 | 4 |
        | | 3 | 4 |
        | | 4 | 4 |
        ----------------------
4

3 に答える 3

4

Itay Moav-Malimovkaのソリューションは完璧だと思いますが、本当に 2 つの列が必要な場合は....

select distinct(survey_id) as identifier, 
       (select max(survey_id) from survey) as "current" 
  from survey_main;

乾杯!

于 2013-03-18T20:35:21.573 に答える
3

すべての survey_ids のカウントと 1 つのクエリの最大数を求めている場合は、これを試してください。

select count(distinct survey_id) as number_of_survey_ids 
     , max(survey_id) as current 
from survey_main

また、すべての行に最大値を追加したい場合、データベースがウィンドウ関数をサポートしている場合は、次のようにします。

select survey_id 
     , max(survey_id) over () as current 
from survey_main
于 2013-03-18T20:26:47.513 に答える
2
SELECT DISTINCT *
FROM T
ORDER BY SURVEY_ID DESC

最初の結果は MAX であり、データセット全体が個別の

于 2013-03-18T20:24:51.693 に答える