-5 mysql
是否可以动态使用MySQL来实现以下内容:
SELECT DISTINCT x FROM ('aaa', 'bbb', 'aaa', 'ccc') x;
Run Code Online (Sandbox Code Playgroud)
其中部分'aaa', 'bbb', 'aaa', 'ccc' 表示逗号分隔的1000000值列表(不是表名,不是列名)(抱歉混淆).
预期产量:
x
------
aaa
bbb
ccc
Run Code Online (Sandbox Code Playgroud)
为什么不使用命令行工具?
我喜欢MySQL的语法,如何操作数据,GROUPING,SORTING,...... MySQL是处理数据集的最佳和最简单的方法.
再次:
列表定义为:
'aaaa',
'bbbbb',
'aabb',
'ffff',
'dfdff',
'aabb',
'ddsss'
[+ 1000 of those lines]
Run Code Online (Sandbox Code Playgroud)
现在我想复制并粘贴此列表并对其执行MySQL操作.例:
SELECT DISTINCT [paste list here];
Run Code Online (Sandbox Code Playgroud)
要么:
SELECT*FROM [此处粘贴列表] WHERE值LIKE'aaa%'
你在找这样的东西吗?
SELECT DISTINCT a.x
FROM
(SELECT 'aaa' AS x
UNION ALL
SELECT 'bbb'
UNION ALL
SELECT 'aaa'
UNION ALL
SELECT 'ccc') a
Run Code Online (Sandbox Code Playgroud)
会导致
| X | |-----| | aaa | | bbb | | ccc |
如果您有许多值,则应将它们加载到临时表中并在临时表上运行DISTINCT.
CREATE TEMPORARY TABLE [IF NOT EXISTS] listOfValues (
value varchar(10)
);
INSERT INTO listOfValues (value)
('aaa'),
('bbb'),
('aaa'),
('ccc');
SELECT DISTINCT value FROM listOfValues;
Run Code Online (Sandbox Code Playgroud)
根据您更新的问题,您可以创建一个临时表,使用LOAD DATA INFILE(还有一个命令行选项),最后DISTINCT在行上运行.没有办法"复制和粘贴"它,除非你想把它放在blob或长文本中并编写一个超出MySQL设计范围的解析器.
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |