返回顶部

收藏

mysql case when 示例

更多
/*

mysql> select * from sales;
+-----+------------+--------+--------+--------+------+------------+
| num | name       | winter | spring | summer | fall | category   |
+-----+------------+--------+--------+--------+------+------------+
|   1 | Java       |   1067 |    200 |    150 |  267 | Holiday    |
|   2 | C          |    970 |    770 |    531 |  486 | Profession |
|   3 | JavaScript |     53 |     13 |     21 |  856 | Literary   |
|   4 | SQL        |    782 |    357 |    168 |  250 | Profession |
|   5 | Oracle     |    589 |    795 |    367 |  284 | Holiday    |
|   6 | MySQL      |    953 |    582 |    336 |  489 | Literary   |
|   7 | Cplus      |    752 |    657 |    259 |  478 | Literary   |
|   8 | Python     |     67 |     23 |     83 |  543 | Holiday    |
|   9 | PHP        |    673 |     48 |    625 |   52 | Profession |
+-----+------------+--------+--------+--------+------+------------+
9 rows in set (0.01 sec)

mysql> SELECT name AS Name,
    -> CASE category
    -> WHEN 'Holiday' THEN 'Seasonal'
    -> WHEN 'Profession' THEN 'Bi_annual'
    -> WHEN 'Literary' THEN 'Random' END AS 'Pattern'
    -> FROM sales;
+------------+-----------+
| Name       | Pattern   |
+------------+-----------+
| Java       | Seasonal  |
| C          | Bi_annual |
| JavaScript | Random    |
| SQL        | Bi_annual |
| Oracle     | Seasonal  |
| MySQL      | Random    |
| Cplus      | Random    |
| Python     | Seasonal  |
| PHP        | Bi_annual |
+------------+-----------+
9 rows in set (0.00 sec)

*/
Drop table sales;

CREATE TABLE sales(
    num MEDIUMINT NOT NULL AUTO_INCREMENT,
    name CHAR(20),
    winter INT,
    spring INT,
    summer INT,
    fall INT,
    category CHAR(13),
    primary key(num)
)type=MyISAM;

insert into sales value(1, 'Java', 1067 , 200, 150, 267,'Holiday');
insert into sales value(2, 'C',970,770,531,486,'Profession');
insert into sales value(3, 'JavaScript',53,13,21,856,'Literary');
insert into sales value(4, 'SQL',782,357,168,250,'Profession');
insert into sales value(5, 'Oracle',589,795,367,284,'Holiday');
insert into sales value(6, 'MySQL',953,582,336,489,'Literary');
insert into sales value(7, 'Cplus',752,657,259,478,'Literary');
insert into sales value(8, 'Python',67,23,83,543,'Holiday');
insert into sales value(9, 'PHP',673,48,625,52,'Profession');

select * from sales;

SELECT name AS Name,
CASE category
WHEN 'Holiday' THEN 'Seasonal'
WHEN 'Profession' THEN 'Bi_annual'
WHEN 'Literary' THEN 'Random' END AS 'Pattern'
FROM sales;

标签:SQL,MySQL

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. techug 发表 2015-02-05 04:36:40 MySQL编程中的6个重要的实用技巧
  2. admin 发表 2016-03-23 05:02:18 SQL注入速查表(下)
  3. 图表大师 发表 2017-04-05 07:18:04 漫画赏析:Linux 版 SQL Server
  4. nosqlfan 发表 2013-01-07 15:10:06 从MySQL到Redis,提升数据迁移的效率
  5. admin 发表 2016-03-23 05:00:24 SQL注入速查表(上)
  6. yeseng 发表 2016-04-04 14:55:45 谈数据稽核(3)
  7. 小丁 发表 2016-08-08 15:27:22 mysqld_multi关闭不了MySQL处理Tips
  8. zhu329599788@126 发表 2017-03-14 09:08:31 mysql的SQL_CALC_FOUND_ROWS 使用
  9. wwek 发表 2013-04-23 02:16:59 mysql慢查询分析centos下mysqlsla的安装与使用
  10. 新一 发表 2013-05-23 11:05:15 mysql查询区分大小sql语句
  11. aGuegu 发表 2014-09-22 13:12:28 [sql] 记一次查询优化
  12. ISADBA|FH.CN 发表 2015-01-21 09:22:28 如何自动化完成SQL审核

发表评论