【发布时间】:2021-07-27 20:55:54
【问题描述】:
尝试获取每个月出现频率最高的值 来自表格
检验表:
CREATE TABLE inspection (lno INT,
idate DATE,
iid INT,
stime TIME,
passed INT,
violations VARCHAR(100),
check (passed = 1 or passed = 0),
PRIMARY KEY(lno,idate),
FOREIGN key (lno) REFERENCES restaurant);
可以忽略-> FOREIGN key (lno) REFERENCES restaurant)
数据:
INSERT INTO inspection VALUES
(234,'6.1.2020' ,333, '16:00', 1 ,NULL),
(123,'7.2.2020' ,333 ,'12:15' ,0 ,'rats'),
(234, '7.2.2020', 333, '17:00', 0, 'Bugs'),
(456, '1.3.2021' ,222, '20:00' ,1,NULL),
(234, '10.3.2021', 333, '16:00', 1,NULL),
(567, '24.3.2021' ,333, '17:00' ,1,NULL),
(345, '9.4.2021' ,222, '18:00', 0, 'Rats'),
(345, '30.4.2021' ,222, '18:00' ,1,NULL),
(123,'11.5.2021', 111, '19:40', 0 ,'Mold'),
(567, '15.5.2021' ,111 ,'19:00' ,1,NULL),
(345, '17.5.2021' ,222, '19:00' ,1,NULL),
(456, '19.5.2021', 111 ,'17:00', 0 ,'Bats'),
(123, '13.6.2021' ,222, '13:00', 1,NULL),
(456, '16.6.2021' ,333 ,'21:00' ,0 ,'Mold');
查询:
SELECT date_part('month', idate) ,max(iid)
FROM inspector natural join inspection where date_part('year', idate) >= date_part('year', current_date)
GROUP BY date_part('month', idate)
输出:
| month | id |
|---|---|
| 3 | 333 |
| 4 | 222 |
| 5 | 222 |
| 6 | 333 |
预期输出 -
| month | id |
|---|---|
| 3 | 333 |
| 4 | 222 |
| 5 | 111 |
| 6 | 222 |
| 6 | 333 |
【问题讨论】:
-
你确定这和jQuery有关吗?
-
意外抱歉
-
添加图片是个坏主意,没有人可以用它来帮助您。添加您的示例数据和您的预期结果。
-
@RonNuriel 请不要将数据作为图像发布。这几乎没用,因为没有人可以从中复制和粘贴数据;)
-
@RonNuriel,你确定你使用的是 PostgreSQL 9.1 和 9.3 吗?这些版本是“古老的”,不再受支持。
标签: sql postgresql