sqoop导入

ev7lccsx  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(454)
sqoop import \
--connect jdbc:mysql://localhost/loudacre \
--username training \
--password training \
--target-dir /axl172930/loudacre/pset1 \
--split-by acct_num \
--query 'SELECT first_name,last_name,acct_num,city,state from accounts a 
JOIN (SELECT account_id, count(device_id) as num_of_devices 
      FROM accountdevice group by account_id 
      HAVING count(device_id) = 1)d ON a.acct_num = d.account_id 
      WHERE $CONDITIONS'

问题如下:导入恰好有一个设备的帐户的名字、姓氏、帐号、城市和州。 accounts 以及 accountdevice 是table。当我使用 distinct 在count函数中,我得到了不同数量的记录。对于上述问题,哪种方法是正确的?请建议您是否可以不使用子查询获得答案。

k4emjkb1

k4emjkb11#

我认为以下查询应该满足您的要求:

SELECT a.first_name,a.last_name,a.acct_num,a.city,a.state,count(d.device_id)
FROM accounts a JOIN num_of_devices d on a.acct_num = d.account_id
GROUP BY a.acct_num HAVING count(d.device_id) = 1);

相关问题