MySQL之兩個欄位的in

2021-10-07 18:39:55 字數 1386 閱讀 6234

employee 表包含所有員工資訊,每個員工有其對應的 id, salary 和 department id。

±—±------±-------±-------------+

| id | name | salary | departmentid |

±—±------±-------±-------------+

| 1 | joe | 70000 | 1 |

| 2 | henry | 80000 | 2 |

| 3 | sam | 60000 | 2 |

| 4 | max | 90000 | 1 |

±—±------±-------±-------------+

department 表包含公司所有部門的資訊。

±—±---------+

| id | name |

±—±---------+

| 1 | it |

| 2 | sales |

±—±---------+

編寫乙個 sql 查詢,找出每個部門工資最高的員工。例如,根據上述給定的**,max 在 it 部門有最高工資,henry 在 sales 部門有最高工資。

±-----------±---------±-------+

| department | employee | salary |

±-----------±---------±-------+

| it | max | 90000 |

| sales | henry | 80000 |

±-----------±---------±-------+

因為 employee 表包含 salary 和 departmentid 字段,

我們可以以此在部門內查詢最高工資。

然後,我們可以把錶 employee 和 department 連線,

再在這張臨時表裡用 in 語句查詢部門名字和工資的關係。

select

department.name as 'department'

, employee.name as 'employee'

, salary

from

employee

join

department on employee.departmentid = department.id

where

(employee.departmentid , salary) in

( select

departmentid,

max(salary)

from

employee

group by departmentid

)

mysql 兩個字段拼接 mysql 多個字段拼接

mysql的查詢結果行欄位拼接,能夠用以下兩個函式實現 1.concat函式 mysql select concat 1 2 3 from test concat 1 2 3 123 假設連線串中存在null,則返回結果為null mysql select concat 1 2 null,3 fro...

GROUP BY 兩個字段

create table test a varchar 10 b varchar 10 c int insert into test values a 甲 1 insert into test values a 甲 1 insert into test values a 甲 1 insert int...

兩個字段 使用R語言比較兩個字段不同的字元數

一 需求背景 有5000個車牌號,需要找出那些前兩位相同,後五位相差乙個字元的車牌。源資料如下 按需求找出來的資料如下 二 問題分析 5000個車牌號在excel中數量很少。但是處理這個問題需要對所有前兩位相同的車牌兩兩比對。那樣資料量是1973780條。暫不知怎麼用excel處理。所以這裡使用的工...