-1

我有表结构:

一个 | 乙| C | 日期

我想选择 MAX(A), MAX(B), MAX(C) 并为每个 MAX 分配 Date ... 可以在 MySQL 中只用 1 个 SELECT 完成吗(没有像 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 回答