我有这个 :
CREATE TABLE tickets(id serial PRIMARY KEY, source text NOT NULL, user_id int NOT NULL, shop_id int NOT NULL, created_at time DEFAULT current_time);
INSERT INTO tickets VALUES (0, 'web-mobile', 1, 2);
INSERT INTO tickets VALUES (1, 'web-destkop', 1, 2);
INSERT INTO tickets VALUES (2, 'web-destkop', 2, 2);
SELECT shop_id, source, COUNT(DISTINCT(user_id)) AS user_count
FROM tickets
WHERE shop_id = 2
GROUP BY shop_id, source;
雷克斯斯特:http: //rextester.com/TDS9913
但我想要的是得到 distinct user_id
on的总和web-*
。
shop_id source user_count
2 web 2
您需要按源的子字符串分组:
http://rextester.com/EFZZSG27212
你想要的是这样的:
结果:(在此处检查 db-fiddle )
当然,您可以按照建议使用
SUBSTRING
而不是。LEFT