注册 登录
编程论坛 MySQL论坛

这样的并列显示为一条记录的SELECT语句谁会写?

文心边城 发布于 2012-08-21 18:35, 2278 次点击
数据库MYSQL表如下:
表名:stockdata
 ID TIME    STOCK_NAME  DATA1    DATA2    DATA3
 1   9:30    银行       aaa         bbb         ccc
 2   9:31    银行       ddd         eee         fff
 ..  ......   ...       ....        ....        ....   
11   9:30    证券       2aaa        2bbb        2ccc
12   9:31    证券       2ddd        2eee        2fff
..   ....  ....         ....        ....        ....   
我想要的结果是:按STOCK_NAME这个字段个都取出最新的10条信息。每条记录包含在这个时间上的所有STOCK_NAME的三个数据都展示在一条记录上。请问怎么写。
                银行                     证券   
TIME         DATA1 DATA2   DATA3    DATA1  DATA2  DATA3                    
9:31        ddd    eee    fff      2ddd   2eee   2fff         
9: 30        aaa    bbb    ccc      2aaa   2bbb   2ccc
2 回复
#2
文心边城2012-08-21 18:56
自己顶
#3
文心边城2012-08-23 12:51
select real_time,  
  MAX(if(stock_code=991156, buycount, 0)) as buycount,
  MAX(if(stock_code=991156, bigbuycount, 0)) as bigbuycount,
  MAX(if(stock_code=991156, waitbuycount, 0)) as waitbuycount,
  MAX(if(stock_code=881155, buycount, 0)) as buycount,
  MAX(if(stock_code=881155, bigbuycount, 0)) as bigbuycount,
  MAX(if(stock_code=881155, waitbuycount, 0)) as waitbuycount
from stock_data group by real_time order by stock_code desc
自己解决了

[ 本帖最后由 文心边城 于 2012-8-23 12:53 编辑 ]
1