相关疑难解决方法(0)

INNER JOIN,LEFT JOIN,RIGHT JOIN和FULL JOIN之间有什么区别?

什么之间的区别INNER JOIN,LEFT JOIN,RIGHT JOINFULL JOINMySQL的

mysql sql join inner-join outer-join

1602
推荐指数
3
解决办法
136万
查看次数

1514
推荐指数
12
解决办法
146万
查看次数

SQL仅选择列上具有最大值的行

我有这个文件表(这里是简化版):

+------+-------+--------------------------------------+
| id   | rev   | content                              |
+------+-------+--------------------------------------+
| 1    | 1     | ...                                  |
| 2    | 1     | ...                                  |
| 1    | 2     | ...                                  |
| 1    | 3     | ...                                  |
+------+-------+--------------------------------------+
Run Code Online (Sandbox Code Playgroud)

如何为每个id选择一行并且只选择最大转速?
使用上面的数据,结果应该包含两行:[1, 3, ...][2, 1, ..].我正在使用MySQL.

目前,我在while循环中使用检查来检测并覆盖结果集中的旧转速.但这是实现结果的唯一方法吗?是不是有SQL解决方案?

更新
作为答案提示,有一个SQL的解决方案,并且这里sqlfiddle演示.

更新2
我注意到在添加上述sqlfiddle之后,问题被投票的速率超过了答案的upvote率.那不是故意的!小提琴是基于答案,特别是接受的答案.

mysql sql aggregate-functions greatest-n-per-group groupwise-maximum

1142
推荐指数
14
解决办法
107万
查看次数

如何在MySQL中进行全面的连接?

我想在MySQL中进行全外连接.这可能吗?MySQL是否支持Full Outer Join?

mysql sql join outer-join full-outer-join

614
推荐指数
6
解决办法
63万
查看次数

Left,Right,Outer和Inner Joins有什么区别?

我想知道如何区分所有这些不同的连接...

sql database join

545
推荐指数
7
解决办法
37万
查看次数

JOIN和UNION有什么区别?

JOIN和之间有什么区别UNION?我能举个例子吗?

sql database union join

240
推荐指数
8
解决办法
39万
查看次数

SQL Server中左连接和右连接之间的区别

我知道SQL Server中的连接.

例如.Table1,Table2有两个表.

他们的桌子结构如下.

create table Table1 (id int, Name varchar (10))

create table Table2 (id int, Name varchar (10))
Run Code Online (Sandbox Code Playgroud)

表1数据如下:

    Id     Name     
    -------------
    1      A        
    2      B    
Run Code Online (Sandbox Code Playgroud)

表2数据如下:

    Id     Name     
    -------------
    1      A        
    2      B 
    3      C
Run Code Online (Sandbox Code Playgroud)

如果我执行下面提到的两个SQL语句,则两个输出都是相同的

select *
from Table1
  left join Table2 on Table1.id = Table2.id

select *
from Table2
  right join Table1 on Table1.id = Table2.id
Run Code Online (Sandbox Code Playgroud)

请解释上述SQL语句中左右连接的区别.

sql sql-server join left-join right-join

218
推荐指数
7
解决办法
29万
查看次数

连接顺序在SQL中是否重要?

无视性能,我会从下面的查询A和B得到相同的结果吗?C和D怎么样?

-- A
select *
from   a left join b
           on <blahblah>
       left join c
           on <blahblan>


-- B
select *
from   a left join c
           on <blahblah>
       left join b
           on <blahblan>  

-- C
select *
from   a join b
           on <blahblah>
       join c
           on <blahblan>


-- D
select *
from   a join c
           on <blahblah>
       join b
           on <blahblan>  
Run Code Online (Sandbox Code Playgroud)

sql join relational-database

173
推荐指数
3
解决办法
12万
查看次数

MySQL:连接类型的快速细分

我想快速细分一下MySQL连接的类型.我知道这些,其余的我不确定他们的意思.

  • 逗号分隔(究竟是什么缩写?):SELECT * FROM a, b WHERE b.id = a.beeId AND ...
  • 显示来自a的信息,即使b中没有匹配: SELECT * FROM a LEFT OUTER JOIN b ON b.id = a.beeId WHERE ...

我已经看过其他联接,但想知道是什么让它们与众不同,什么是INNER/ OUTER,添加LEFT改变的东西.

我已经知道联接是如何工作的,我只是想知道是否存在其他类型的连接,或者它们是否只是获得相同结果的不同方式.

mysql join

149
推荐指数
4
解决办法
13万
查看次数

SQL Server 2008中的CROSS JOIN与INNER JOIN

CROSS JOIN和之间有什么区别INNER JOIN

交叉加入:

SELECT 
    Movies.CustomerID, Movies.Movie, Customers.Age, 
    Customers.Gender, Customers.[Education Level], 
    Customers.[Internet Connection], Customers.[Marital Status], 
FROM   
    Customers 
CROSS JOIN 
    Movies
Run Code Online (Sandbox Code Playgroud)

内部联接:

SELECT 
    Movies.CustomerID, Movies.Movie, Customers.Age, 
    Customers.Gender, Customers.[Education Level], 
    Customers.[Internet Connection], Customers.[Marital Status]
FROM   
    Customers 
INNER JOIN 
    Movies ON Customers.CustomerID = Movies.CustomerID
Run Code Online (Sandbox Code Playgroud)

哪一个更好,为什么我会使用其中一个?

sql t-sql sql-server cross-join sql-server-2008

133
推荐指数
7
解决办法
35万
查看次数