0

问题

我有一个这样的 csv 文件:

char num  
aaa,123  
bbb,123  
bbb,123  
bbb,123  
ccc,123  

我只想将最常出现的
csv文件记录插入mysql数据库->这是[bbb,123]

所以我希望数据库是这样的:
(key:num)

char num  
bbb,123   

有没有办法做到这一点?

我试过这样

我有这样的尝试:

ALTER IGNORE TABLE table
ADD PRIMARY KEY (char,num);
但结果是

char num  
aaa,123  
4

2 回答 2

1

此查询将从 CSV 加载的表中返回指定的结果集:

SELECT c.char, c.num
  FROM loadtable c
 GROUP BY c.char, c.num
 ORDER BY COUNT(1) DESC
 LIMIT 1

将查询返回的单行放入另一个表中,例如

INSERT INTO another_table (char,num)
SELECT c.char, c.num
  FROM loadtable c
 GROUP BY c.char, c.num
 ORDER BY COUNT(1) DESC
 LIMIT 1
于 2013-02-14T20:18:33.977 回答
-1

此时您的数据库中是否已有 csv 文件?我从你的尝试中假设是这样,所以你可以尝试这样的事情:

SELECT char, num, MAX(count_column)
FROM
    (SELECT char, num, count(*) as count_column
    FROM table
    GROUP by 1, 2;)
于 2013-02-11T14:07:25.863 回答