首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让mysql不删除参数列表中的重复元素

问如何让mysql不删除参数列表中的重复元素
EN

Stack Overflow用户
提问于 2016-03-25 13:50:03
回答 2查看 22关注 0票数 0

背景

市场同事给我一个excel文件,有客户手机,让我给这些客户发一些优惠券,有些手机是重复的,意思是应该发送多张优惠券。

有一个表有这些数据,

代码语言:javascript
复制
select * from t ;
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
|  6 | f    |
+----+------+

select * from t where id in (1,2,1);
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
+----+------+

您可以看到mysql自动删除in参数列表中的重复id,但我希望效果如下

代码语言:javascript
复制
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  1 | a    |
+----+------+

这是in参数,就像list,而不是set。那么如何在mysql中实现这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2016-03-25 14:04:54

代码语言:javascript
复制
SELECT * FROM t where id in (1,2);
UNION ALL
SELECT * FROM t where id in (1);

这将帮助您在mySQL中添加重复记录。

票数 0
EN

Stack Overflow用户

发布于 2016-03-29 17:15:23

一些解决办法可能就是这样做:

代码语言:javascript
复制
CREATE TEMPORARY TABLE tmp_id (ID INT);

INSERT INTO tmp_id VALUES (1),(2),(1); -- etc

SELECT   t.* 
    FROM t
    JOIN tmp_id 
      ON tmp_id.id = t.id;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36221246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档