id, student, course, mark 1, 张三, 语文, 90 2, 李四, 语文, 80 3, 张三, 数学, 70 4, 李四, 数学, 80 现在想用转置表的方法转成二维表输出,要求格式是: student, 语文, 数学 张三, 90, 70 李四, 80, 80 select student, sum(if(course='语文',mark,0)) as 语文, sum(if(course='数学',mark,0)) as 数学 from table1 group by student 本文来自ChinaUn...
by cenalulu - MySQL文档中心 - 2009-04-06 11:23:30 阅读(1863) 回复(0)
本帖最后由 liyihongcug 于 2011-07-28 16:31 编辑 惊叹这个功能 SELECT * FROM iptocountry where inet_aton('10.0.3.1') between startip AND endip;f 来自 http://ip-to-country.webhosting.info/node/view/6 如果能配合脚本作正则表示式过滤那些缺少. 或者不完整的ip就太好了 实际上偷懒 直接执行判断 select inet_aton('10.0.') 返回空表示非法 否则可以得到从ip 去国家名 * INET_ATON(expr) 给出一个作为字...
mysql字符集及mysql编码转换 今天找到这篇文章,里面提到从latin1到UTF8的mysql编码转换。收藏一下,最近要将所有的数据库都转一次,一直错误的使用latin1,再不转以后麻烦大了。 出处:未知 个人建议,数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集....
表结构及数据如下: DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` int(11) NOT NULL DEFAULT '0', `name` varchar(4) CHARACTER SET utf8 NOT NULL DEFAULT '', `count` int(11) NOT NULL DEFAULT '0', `date` int(11) NOT NULL, `hour` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `test` VALUES ('1', 'name', '30555', '20111203', '0'); INSERT INTO `test` VALUES ('1', ...
在某些数据库中有交叉表,但在mysql中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。 http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198 现整理解法如下: 数据样本: create table tx( id int primary key, c1 char(2), c2 char(2), c3 int ); insert into tx values (1 ,'A1','B1',9), (2 ,'A2','B1',7), (3 ,'A3','B1',4), (4 ,'A4','B1',2),...
完美转换mysql的字符集 mysql从4.1版本开始才提出字符集的概念,所以对于mysql4.0及其以下的版本,他们的字符集都是Latin1的,所以有时候需要对mysql的字符集进行一下转换,mysql版本的升 级、降级,特别是升级mysql的版本,为了不让程序继续沿用Latin1字符集之后对以后Discuz!版本升级的影响和安装SupeSite,这就需要我们进行字符集的转换! 本人转换过好多数据了,也用过了好多的办法,个人感觉最好用的就是使用mysql命令导...