我有 2 个表,med 和 viz,结构如下:
医学
CREATE TABLE med
(id_med INT AUTO_INCREMENT PRIMARY KEY,
name_m VARCHAR(50),
surname_m VARCHAR(50),
spec VARCHAR(50),
UNIQUE (surname_m,name_m));
可视化
CREATE TABLE viz
(id_m INT NOT NULL,
id_p INT NOT NULL,
id_c INT NOT NULL,
dt DATETIME)
我需要一个选择查询,它会给出 med 的全名,其中 id_p<250 的计数和 dt 的年份是 2010。 以下查询给我一个不好的结果:
select count(id_p)<250 as no_p,
(select distinct concat(name_m,' ',surname_m) from med where id_med=id_m) as fullname
from viz where year(dt)=2010;
最佳答案
尝试以下查询:
SELECT concat(m.name_m,' ',m.surname_m) AS fullname, COUNT(v.id_p)
FROM med m JOIN viz v
ON m.id_med = v.id_m
WHERE year(dt)=2010
GROUP BY m.id_med
HAVING COUNT(v.id_p) < 250
关于mysql - 选择具有 2 个条件的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37991515/