查找SELECT 相同列的情况下,例如选择一个月每一天的某几项数据,相当于查询一个月三十行数据,为了在一个表中显示就要使用union函数。
eg:
SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-01%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-02%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-03%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-04%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-05%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-06%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-07%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-08%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-09%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-10%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-11%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-12%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-13%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-14%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-15%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-16%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-17%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-18%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-19%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-20%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-21%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-22%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-23%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-24%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-25%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-26%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-27%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-28%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-29%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-30%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-31%' AND act = '1005001001'