56,677
社区成员
发帖
与我相关
我的任务
分享
mysql> select * from t1;
+------+------+
| id | pat |
+------+------+
| 11 | 11 |
| 11 | 12 |
| 12 | 12 |
| 13 | 12 |
+------+------+
4 rows in set (0.00 sec)
mysql> select (case when id=12 then 13 else id end) idd,sum(pat) from t1 group by idd;
+------+----------+
| idd | sum(pat) |
+------+----------+
| 11 | 23 |
| 13 | 24 |
+------+----------+
2 rows in set (0.00 sec)
mysql> EXPLAIN select (case when id=12 then 13 else id end) idd,sum(pat) from t1 group by idd;
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+---------------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+---------------------------------+
| 1 | SIMPLE | t1 | NULL | ALL | NULL | NULL | NULL | NULL | 4 | 100.00 | Using temporary; Using filesort |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+---------------------------------+
1 row in set, 1 warning (0.00 sec)