写一段筛选在供应商中标记录中连续3次中标的供应商名称的sql代码
时间: 2024-02-20 09:01:06 浏览: 19
好的,以下是我为您准备的 SQL 代码:
```
SELECT supplier_name
FROM (
SELECT supplier_name,
ROW_NUMBER() OVER (PARTITION BY supplier_name ORDER BY bid_date) AS rn,
LAG(bid_date) OVER (PARTITION BY supplier_name ORDER BY bid_date) AS prev_bid_date,
LAG(bid_date, 2) OVER (PARTITION BY supplier_name ORDER BY bid_date) AS prev_prev_bid_date
FROM bid_records
WHERE bid_result = '中标'
) AS subquery
WHERE rn = 1 AND bid_date - prev_bid_date = 1 AND prev_bid_date - prev_prev_bid_date = 1
```
这段代码会在 `bid_records` 表中查找中标记录,然后对供应商名称进行分组,按照投标日期进行排序。接着使用 `LAG` 函数查找上两次中标的日期,最后筛选出连续中标3次的供应商。
相关问题
在原始图像中标出连通区域中的质心matlab代码
以下是一个基于Matlab的示例代码,用于在原始图像中标出连通区域的质心:
```matlab
% 读取原始图像
img = imread('original_image.png');
% 读取二值图像
bw = imread('binary_image.png');
% 获取连通区域
cc = bwconncomp(bw);
% 计算每个连通区域的质心
props = regionprops(cc, 'Centroid');
% 在原始图像中标出每个连通区域的质心
for i = 1:numel(props)
x = round(props(i).Centroid(1));
y = round(props(i).Centroid(2));
img(y, x, :) = [255 0 0]; % 将质心位置设为红色
end
% 显示标出质心后的图像
imshow(img);
```
在这个示例代码中,我们首先读取了原始图像和二值图像,然后使用`bwconncomp`函数获取了二值图像中的连通区域。接着,我们使用`regionprops`函数计算了每个连通区域的质心,并在原始图像中标出了每个质心的位置。最后,我们使用`imshow`函数显示标出质心后的图像。注意,我们在这里将质心位置设为红色,你可以根据需要选择其他颜色。
在matlab中标记(-1/3,0)的代码
在 MATLAB 中标记点可以使用 `plot` 函数,示例代码如下:
```matlab
% 创建一个横坐标为 -1/3,纵坐标为 0 的点
x = -1/3;
y = 0;
% 绘制点
plot(x, y, 'ro', 'MarkerSize', 10);
```
这里使用 `'ro'` 参数指定点的样式为红色圆圈,`'MarkerSize'` 参数指定点的大小为 10。如果需要在一个坐标系中绘制多个点,可以多次调用 `plot` 函数即可。