比如现在有如下表
id com1 com2 com3 com4
1 4 2 5 82 2 1 6 53 3 3 3 2想根据id的值来检索最大的几列。
比如根据id = 1 检索最大的三列的名字 结果应该是 com1 com3 com4请问有这种sql方法吗?
id com1 com2 com3 com4
1 4 2 5 82 2 1 6 53 3 3 3 2想根据id的值来检索最大的几列。
比如根据id = 1 检索最大的三列的名字 结果应该是 com1 com3 com4请问有这种sql方法吗?
解决方案 »
- InnoDB存储引擎不存在锁升级,一个锁和多个锁的开销是一样的,谁能解释下为什么,大家讨论下
- insert ignore into 效率问题
- LOAD的奇怪问题
- 连接postgresql中出现Ident authentication failed for user (求解)
- 高手帮忙,求SQL
- 我在vc中调用mysql的c函数,怎么总出现莫名其妙的错我
- 在oracle中的 字段 in (select ziduan from tb) 在MYSQL中如何实现?
- 怎么将一个mysql里面的表的只读属性取消?
- SQL语句备份数据库出现问题
- mysql 5.7 版本 LOAD DATA INFILE 执行成功, 但数据未导入
- postgresql 中文乱码
- 奇怪的事務問題
(
select id ,com1 as v ,'com1' as c from 如下表 where id=1
union all
select id ,com2 as v ,'com2' as c from 如下表 where id=1
union all
select id ,com3 as v ,'com3' as c from 如下表 where id=1
union all
select id ,com4 as v ,'com4' as c from 如下表 where id=1
) t
order by v desc
limit 3;
是。如果知道表名,则你可以通过程序来得到列名。
SELECT * FROM information_schema.`COLUMNS` C;
你可以通过这个表得到列名。