-1

私はテーブル構造を持っています:

あ | ビ | シー | 日にち

そして、MAX(A)、MAX(B)、MAX(C) を選択し、すべての MAX に Date を割り当てたい... MySQL では SELECT を 1 つだけ使用して実行できます (SELECT * FROM (SELECT .. ..)) ?

例:

A  | B  | C  | Date
------------------------
10 | 20 | 0  | 25.5.2012
0  | 13 | 7  | 25.3.2012
70 | 5  | 15 | 25.4.2012

Result:
A -> 70 - 25.4.2012
B -> 20 - 25.5.2012
C -> 15 - 25.4.2012
4

2 に答える 2

1
  ( SELECT 'A' AS ColumnM
          , a  AS Result
          , Date
    FROM tableX  
    ORDER BY a DESC
        LIMIT 1 
  )
UNION ALL
  ( SELECT 'B'
          , b 
          , Date
    FROM tableX  
    ORDER BY b DESC
        LIMIT 1 
  )
UNION ALL
  ( SELECT 'C'
          , c 
          , Date
    FROM tableX  
    ORDER BY c DESC
        LIMIT 1 
  ) ;
于 2012-12-22T10:31:29.577 に答える
0

これが必要だと思います::

Select
MAX(a),
MAX(b),
MAX(c)
from table
GROUP BY `Date`
于 2012-12-22T10:22:04.387 に答える